Ответ 1
SELECT * FROM sys.databases
Как я могу получить все имена базы данных в экземпляре сервера sql с помощью tsql?
SELECT * FROM sys.databases
---- Системные процедуры SQL SERVER 2005
EXEC sp_databases
EXEC sp_helpdb
---- Метод SQL 2000 по-прежнему работает в SQL Server 2005
SELECT name
FROM sys.databases
SELECT name
FROM sys.sysdatabases
---- Неподтвержденная процедура SQL SERVER
EXEC sp_msForEachDB 'PRINT ''?'''
чтобы узнать больше о базе данных: http://blog.sqlauthority.com/2007/05/12/sql-server-2005-list-all-the-database/
это должно работать на почти любой версии сервера sql
USE master;
SELECT NAME FROM sysdatabases;
[edit: это может быть SELECT NAME FROM sys.databases
тоже, веб-сайт Microsoft говорит, что и я, и я не на моем окне окна, чтобы проверить, извините!]
вы также можете использовать (только sql 2005)
USE master;
EXEC sp_databases;
А для практического использования добавлена пара общих фильтров:
select database_id, [name] database_name
from master.sys.databases
WHERE state <> 6 -- skip offline
AND database_id > 4 -- skip system dbs
AND HAS_DBACCESS([name]) = 1 -- with User Access
Вы можете использовать mysql> show database;