SELECT status as status_id,
CASE
WHEN status = 1 THEN 'New'
WHEN status = 32 THEN 'loading'
WHEN status = 64 THEN 'pre recovery'
WHEN status = 128 THEN 'recovering'
WHEN status = 256 THEN 'not recovered'
WHEN status = 512 THEN 'offline'
WHEN status = 1024 THEN 'read only'
WHEN status = 2048 THEN 'dbo use only'
WHEN status = 32768 THEN 'emergency mode'
WHEN status = 65536 THEN 'online'
WHEN status = 4194304 THEN 'autoshrink'
WHEN status = 1073741824 THEN 'cleanly shutdown'
ELSE 'None Provided' END AS 'Status_Values'
FROM sys.sysdatabases WHERE name = 'ENTER_DATABASE_IN_QUESTION_HERE'
1条答案
按热度按时间nzk0hqpo1#
sys.sysdatabases有一个列名称为status(和新的SQL Server版本,我认为列是STATE)。其中status以数值显示,
你可以使用下面的查询,它不包括所有的,但一些重要的数据库活动标志的。注意下面的Where子句,你可以传递数据库名称作为一个参数。