遭遇 SQL Server 服務無法啟動,錯誤日誌出現 MSSQL 18052: Error 9003, Severity 20, State 1,通常代表 **master 資料庫損毀** 或 **交易日誌檔案不一致**。本文提供兩套經驗證的修復方案,助您快速恢復服務。
Windows 事件檢視器 → 應用程式日誌中出現:
錯誤 9003 通常指向 **LSN (Log Sequence Number) 不匹配** 或 **LDF 檔案損毀**。
適用於:master/model/msdb 系統資料庫損毀,但使用者資料庫(MDF/LDF)完好。
Microsoft SQL Server\MSSQL\Data 重命名為 Data_bak。master.mdf、master.ldf、model.mdf、modellog.ldf(或整個 Data 目錄)至任意暫存資料夾(不可放回原 Data 目錄)。C:\Program Files\Microsoft SQL Server\80\Tools\Binn\rebuildm.exe(SQL 2000);新版本請使用 Setup.exe /ACTION=REBUILDDATABASE。sp_attach_db 將原 Data_bak 中的使用者資料庫 MDF/LDF 附加回來。DBCC CHECKDB 修復或從備份還原。注意:rebuildm 過程中若提示失敗,通常因來源檔案版本不符,但多半不影響後續啟動;若仍無法啟動,嘗試重啟伺服器。
適用於:系統資料庫與使用者資料庫皆損毀、或方案一無效、環境允許重裝。
C:\Program Files\SQL Server(或自訂安裝路徑)。HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server),操作前請備份註冊表。ALTER DATABASE master SET PAGE_VERIFY CHECKSUM;。-- 檢查錯誤日誌最近 50 筆
EXEC sp_readerrorlog 0, 1, '9003', '18052';
-- 檢查資料庫狀態
SELECT name, state_desc FROM sys.databases;
冷靜遵循流程,多數 18052 錯誤皆可在數小時內恢復服務。切記:**備份是容災的前提,演練是恢復的保證**。