當 SQL Server 系統日誌中出現錯誤 17052「無法恢復 master 數據庫,正在退出」以及錯誤 18052「錯誤: 9003,嚴重度: 20,狀態: 1」時,通常表示 master 數據庫損壞或文件系統錯誤導致 SQL Server 無法正常啟動。本文提供兩種經驗證有效的修復方案。
在 Windows 系統日誌(控制面板 → 管理工具 → 事件檢視器 → 系統日誌)中,您可能會看到以下兩條關鍵錯誤:
這通常發生在 master 數據庫文件(master.mdf、mastlog.ldf)損壞、磁碟壞道、或非正常關機導致事務日誌不一致的情況下。
此方法適用於 SQL Server 2000/2005 版本,核心思路是備份原數據目錄,從同版本健康實例複製系統數據庫文件,再重新初始化 master 數據庫。
Microsoft SQL Server\MSSQL\Data 目錄重命名為 Data_bak。master.mdf、mastlog.ldf、model.mdf、modellog.ldfC:\SQLSystemDB\)。C:\Program Files\Microsoft SQL Server\80\Tools\Binn\rebuildm.exe(SQL 2000 路徑,其他版本路徑類似)。Data_bak 中的用戶數據庫(.mdf/.ldf)附加回來。若方案一無效或環境允許重裝,可採用此法:
C:\Program Files\Microsoft SQL Server\D:\Program Files\Microsoft SQL Server\)。CHECKSUM 頁面驗證(ALTER DATABASE master SET PAGE_VERIFY CHECKSUM)。DBCC CHECKDB 檢測一致性。sqlservr.exe 進程,始終使用服務管理器或 SHUTDOWN WITH NOWAIT 正常關閉。掌握上述兩種方案,並建立完善的備份與監控體系,可將 MSSQL 18052/9003 錯誤造成的停機時間降至最低。