SELECT DATABASEPROPERTYEX('Northwind', 'Status')
/*
ONLINE = 數據庫可以查詢
OFFLINE = 數據庫顯式脫機
RESTORING =數據庫正在恢復
RECOVERING = 數據庫正在恢復,還不能查詢
SUSPECT = 數據庫不能恢復
*/
SQL Server 2000以前的版本,用DATABASEPROPERTY()系統函數。IsInRecovery屬性將給出數據庫的恢復狀態。下面是SQL Server 7.0的腳本例子:
SELECT DATABASEPROPERTY('Northwind', 'IsInRecovery')
/*
1 = TRUE
0 = FALSE
NULL = Invalid input
*/
在進行數據庫恢復後的幾步工作前,一直檢查數據庫的狀態,直到數據庫在線可用了,不在恢復過程中為止。如果在恢復一段時間之後,沒有返回一個表明數據是可用的狀態,那麼你需要檢查數據庫的其他狀態。它表明:在過程繼續進行前,有另外一個問題需要處理。