如何获取SQL Server实例上的可用数据库列表?我计划在VB.NET的组合框中列出他们的列表。


当前回答

鉴于非用户数据库数量的不确定性,您可能应该补充:

WHERE name NOT IN ('master', 'tempdb', 'model', 'msdb');

并添加报表服务数据库的名称

其他回答

也许我是一只渡渡鸟!

显示数据库;为我工作。

鉴于非用户数据库数量的不确定性,您可能应该补充:

WHERE name NOT IN ('master', 'tempdb', 'model', 'msdb');

并添加报表服务数据库的名称

SELECT [name] 
FROM master.dbo.sysdatabases 
WHERE dbid > 4 

工作在我们的SQL Server 2008

排除系统数据库:

SELECT [name]
FROM master.dbo.sysdatabases
WHERE dbid > 6

编辑:2013年2月5日下午2:36

更新准确的database_id,它应该大于4,跳过列表 数据库id在1到4之间的系统数据库。

SELECT * 
FROM sys.databases d
WHERE d.database_id > 4

在SQL Server 7中,dbid 1 ~ dbid 4为系统dbs。