如何使用tsql获取sql server实例中的所有数据库名称?

时间:2010-05-25 07:01:43

标签: sql-server-2005 tsql

如何使用tsql获取sql server实例中的所有数据库名称?

4 个答案:

答案 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