如何使用tsql获取sql server实例中的所有数据库名称?
答案 0 :(得分:65)
SELECT * FROM sys.databases
答案 1 :(得分:13)
---- 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/
答案 2 :(得分:5)
这应该适用于几乎任何版本的sql server
USE master;
SELECT NAME FROM sysdatabases;
[编辑:它也可能是SELECT NAME FROM sys.databases
,微软的网站说两者都没有,我不在我的Windows框上进行测试,对不起!]
你也可以使用(仅限sql 2005)
USE master;
EXEC sp_databases;
答案 3 :(得分:0)
为实际使用添加了两个常见的过滤器:
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