如何从SQL Server获取数据库列表?

NO *_*ame 1 sql

据我所知,我可以使用来从SQL Server获取数据库sys.databases,但是它也列出了脱机数据库。我一直在检查显示数据库在线/离线状态的标志。

谁能帮我这个 ?

我想要来自SQL Server的联机数据库,只需要忽略脱机数据库

mar*_*c_s 5

您正在寻找state专栏-MSDN文档始终是您的朋友!

state: tinyint

0 = ONLINE
1 = RESTORING
2 = RECOVERING
3 = RECOVERY_PENDING
4 = SUSPECT
5 = EMERGENCY
6 = OFFLINE
Run Code Online (Sandbox Code Playgroud)

因此,如果您只想在线数据库,请使用

SELECT (columns) FROM sys.databases WHERE state = 0
Run Code Online (Sandbox Code Playgroud)