Как я могу получить все имена базы данных в экземпляре SQL Server с помощью tsql?
это должно работать практически на любой версии sql server
USE master;
SELECT NAME FROM sysdatabases;
[правка: это может быть ВЫБЕРИТЕ ИМЯ ИЗ sys.databases
тоже, веб-сайт Microsoft говорит оба, и я не на своей коробке Windows, чтобы тестировать, извините!]
вы также можете использовать (только sql 2005)
USE master;
EXEC sp_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/