萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> 資料庫綜合

SQL Server 無法啟動?解決 MSSQL 18052 錯誤 (9003, Severity 20) 完整排查手冊

遭遇 SQL Server 服務無法啟動,錯誤日誌出現 MSSQL 18052: Error 9003, Severity 20, State 1,通常代表 **master 資料庫損毀** 或 **交易日誌檔案不一致**。本文提供兩套經驗證的修復方案,助您快速恢復服務。

錯誤現象

Windows 事件檢視器 → 應用程式日誌中出現:

  • 17052:無法復原 master 資料庫。正在結束。
  • 18052:錯誤: 9003,嚴重度: 20,狀態: 1。

錯誤 9003 通常指向 **LSN (Log Sequence Number) 不匹配** 或 **LDF 檔案損毀**。

方案一:重建 Master 資料庫(保留使用者資料庫)

適用於:master/model/msdb 系統資料庫損毀,但使用者資料庫(MDF/LDF)完好。

步驟

  1. 備份原 Data 目錄:將 Microsoft SQL Server\MSSQL\Data 重命名為 Data_bak。
  2. 取得乾淨系統資料庫檔案:從同版本、同補丁等級的健康伺服器複製 master.mdf、master.ldf、model.mdf、modellog.ldf(或整個 Data 目錄)至任意暫存資料夾(不可放回原 Data 目錄)。
  3. 執行 rebuildm.exe:
    • 路徑:C:\Program Files\Microsoft SQL Server\80\Tools\Binn\rebuildm.exe(SQL 2000);新版本請使用 Setup.exe /ACTION=REBUILDDATABASE。
    • 指定來源檔案路徑為步驟 2 的暫存資料夾。
    • 完成後啟動 SQL 服務。
  4. 附加使用者資料庫:服務啟動後,透過 SSMS 或 sp_attach_db 將原 Data_bak 中的使用者資料庫 MDF/LDF 附加回來。
  5. 清理可疑資料庫:若附加後顯示「可疑」,嘗試 DBCC CHECKDB 修復或從備份還原。

注意:rebuildm 過程中若提示失敗,通常因來源檔案版本不符,但多半不影響後續啟動;若仍無法啟動,嘗試重啟伺服器。

方案二:重新安裝 SQL Server(終極方案)

適用於:系統資料庫與使用者資料庫皆損毀、或方案一無效、環境允許重裝。

步驟

  1. 控制台 → 程式集合 → 解除安裝 SQL Server 所有元件。
  2. 手動刪除安裝目錄:C:\Program Files\SQL Server(或自訂安裝路徑)。
  3. 刪除註冊表殘留鍵值(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server),操作前請備份註冊表。
  4. 重新安裝 SQL Server,套用相同 Service Pack 與累積更新。
  5. 從備份還原使用者資料庫。

預防與備援建議

  • 定期備份系統資料庫(master、model、msdb),特別是 master。
  • 啟用 **資料庫頁面驗證**:ALTER DATABASE master SET PAGE_VERIFY CHECKSUM;。
  • 配置 **錯誤警示**:SQL Agent 警示 → 錯誤號 823、824、825、9003 → 發送郵件通知 DBA。
  • 使用 **Always On 可用性群組** 或 **資料庫鏡像** 實現高可用,單點故障秒級切換。

快速診斷腳本

-- 檢查錯誤日誌最近 50 筆
EXEC sp_readerrorlog 0, 1, '9003', '18052';

-- 檢查資料庫狀態
SELECT name, state_desc FROM sys.databases;

冷靜遵循流程,多數 18052 錯誤皆可在數小時內恢復服務。切記:**備份是容災的前提,演練是恢復的保證**。

copyright © 萬盛學電腦網 all rights reserved