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

SQL Server 2005/2008 資料庫被標記為「可疑」狀態的修復步驟

     編輯:SQL Server 2005

問題背景

當 SQL Server 在讀寫資料庫時發生非預期中斷(如突然斷電、強制關閉服務、硬體故障),資料庫可能進入 Suspect(可疑)模式。此時資料庫圖示會出現黃色驚嘆號,無法正常存取,但資料檔案(MDF/LDF)實際上仍存在於磁碟上。

修復步驟(以 Sharepoint_Config 為例)

  1. 設為緊急模式:允許系統管理員唯讀存取進行修復。
    ALTER DATABASE Sharepoint_Config SET EMERGENCY
  2. 設為單一使用者模式:防止其他連線干擾修復程序。
    ALTER DATABASE Sharepoint_Config SET SINGLE_USER
  3. 執行 DBCC CHECKDB 修復:REPAIR_ALLOW_DATA_LOSS 會嘗試修復邏輯錯誤,但可能造成資料遺失,請務必先備份。
    DBCC CHECKDB (Sharepoint_Config, REPAIR_ALLOW_DATA_LOSS)
  4. 恢復多使用者模式:
    ALTER DATABASE Sharepoint_Config SET MULTI_USER
  5. 重啟 SQL Server 服務(命令提示字元以系統管理員執行):
    net stop mssqlserver
    net start mssqlserver

重要提醒與替代方案

⚠ 風險警告:REPAIR_ALLOW_DATA_LOSS 可能刪除損壞的資料頁,導致資料遺失。生產環境請優先考慮:
  • 從最近的完整備份 + 交易記錄備份還原(RPO 最小)。
  • 若無備份,可嘗試 REPAIR_REBUILD(不會遺失資料,但修復能力較弱)。
  • 使用第三方工具(如 ApexSQL Recover, Stellar Repair for MS SQL)嘗試提取資料。

預防措施

  • 建立完善的備份策略(完整+差異+記錄備份)。
  • 啟用資料庫頁面驗證(CHECKSUM)。
  • 監控磁碟健康度與 SQL Server 錯誤日誌。
  • 避免直接複製 MDF/LDF 檔案作為備份,應使用 BACKUP DATABASE 指令。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved