果你正在進程中恢復數據庫,在恢復過程后需要做了幾步工作,那么你可以用databasepropertyex()系統函數檢查恢復過程的狀態。這個函數的狀態屬性將表明這個數據庫狀態的結果。這是個sql server 2000里才有的新函數。下面是一個腳本的例子:
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
*/
在進行數據庫恢復后的幾步工作前,一直檢查數據庫的狀態,直到數據庫在線可用了,不在恢復過程中為止。如果在恢復一段時間之后,沒有返回一個表明數據是可用的狀態,那么你需要檢查數據庫的其他狀態。它表明:在過程繼續進行前,有另外一個問題需要處理。
新聞熱點
疑難解答