Как я могу получить все имена базы данных в экземпляре сервера sql с помощью tsql?
Как получить все имена базы данных в экземпляре сервера sql с помощью tsql?
Ответ 1
SELECT * FROM sys.databases
Ответ 2
---- Системные процедуры 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/
Ответ 3
это должно работать на почти любой версии сервера sql
USE master;
SELECT NAME FROM sysdatabases;
[edit: это может быть SELECT NAME FROM sys.databases
тоже, веб-сайт Microsoft говорит, что и я, и я не на моем окне окна, чтобы проверить, извините!]
вы также можете использовать (только sql 2005)
USE master;
EXEC sp_databases;
Ответ 4
А для практического использования добавлена пара общих фильтров:
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
Ответ 5
Вы можете использовать mysql> show database;