首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

使用 DATABASEPROPERTYEX 監控資料庫還原狀態

     編輯:關於SqlServer

SQL Server 2000 新增函數:DATABASEPROPERTYEX

在 SQL Server 2000 中,可使用 DATABASEPROPERTYEX() 系統函數查詢資料庫狀態,特別適合在還原作業後持續監控,直到資料庫上線可用。其 Status 屬性回傳值如下:

  • ONLINE:資料庫可正常查詢
  • OFFLINE:資料庫明確離線
  • RESTORING:資料庫正在還原中
  • RECOVERING:資料庫正在復原,尚不可查詢
  • SUSPECT:資料庫損壞無法復原

查詢範例

SELECT DATABASEPROPERTYEX('Northwind', 'Status');
/*
ONLINE = 資料庫可以查詢
OFFLINE = 資料庫顯式脫機
RESTORING = 資料庫正在恢復
RECOVERING = 資料庫正在恢復,還不能查詢
SUSPECT = 資料庫不能恢復
*/

SQL Server 7.0 相容做法

舊版本可使用 DATABASEPROPERTY() 搭配 IsInRecovery 屬性:

SELECT DATABASEPROPERTY('Northwind', 'IsInRecovery');
/*
1 = TRUE (正在復原)
0 = FALSE (未在復原)
NULL = 輸入無效
*/

實務應用建議

在還原腳本或作業中,建立迴圈持續檢查狀態,直到回傳 ONLINE 或 IsInRecovery = 0 才繼續後續步驟(如更新統計資料、重建索引、切換連線字串等)。若長時間停留在 RESTORING/RECOVERING 或出現 SUSPECT,需立即介入排查硬體、備份檔完整性或磁碟空間等問題。

總結

善用 DATABASEPROPERTYEX 即時掌握還原進度,可將資料庫上線流程自動化,減少人工等待與誤判,提升營運連續性保障能力。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved