SQL Server 服務啟動失敗,錯誤日誌顯示:
Error: 9003, Severity: 20, State: 1. The log scan number ... passed to log scan in database 'master' is not valid. Cannot recover the master database. SQL Server is unable to run. Restore master from a full backup, repair it, or rebuild it.
sqlservr.exe -m -s MSSQLSERVER (具體實例名)。sqlcmd 連接:sqlcmd -S . -ERESTORE DATABASE master FROM DISK = 'D:\Backup\master_full.bak' WITH REPLACE;前提:必須有 Master 完整備份。生產環境務必將 Master、MSDB、Model 納入維護計畫每日完整備份。
C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Binn\Templates\ (版本路徑依實際調整)master.mdf、mastlog.ldf 至對應資料/記錄目錄 (覆蓋損壞檔案)。後果:Master 退回到安裝初始狀態,**所有登入、連結伺服器、系統配置、使用者資料庫掛載資訊遺失**,需手動重建或從腳本部署。
Setup.exe /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=MSSQLSERVER /SQLSYSADMINACCOUNTS="BUILTIN\Administrators" /SAPWD="StrongP@ssw0rd" /SQLCOLLATION=Chinese_PRC_CI_AS
參數說明:
/INSTANCENAME:具體實例名 (預設 MSSQLSERVER)。/SQLSYSADMINACCOUNTS:系統管理員帳號 (可多個,逗號分隔)。/SAPWD:SA 密碼 (混合模式必填)。/SQLCOLLATION:實例定序 (與原損壞實例一致,否則使用者資料庫掛載可能定序衝突)。SELECT @@VERSION; 確認版本號與補丁一致。SELECT name FROM sys.databases; 確認使用者資料庫列表 (可能需 ALTER DATABASE ... SET ONLINE 或重新附加)。SELECT * FROM sys.server_principals WHERE type IN ('S','U','G'); 確認登入帳號。EXEC sp_helplinkedsrvlogin; 確認連結伺服器。DBCC CHECKDB(master) 確認無邏輯損壞。BACKUP CHECKSUM、COMPRESSION。Master 損壞是 SQL Server 最嚴重故障之一。**有備份 → 還原 (RTO 最短、資料完整);無備份有模板 → 複製模板 (需重建所有伺服器級物件);全無 → 重建系統庫 (最慢、需重打補丁)**。將 Master 備份納入核心 SLA,定期演練,是 DBA 底線職責。