master 儲存登入帳號、連結伺服器、端點等實例級中繼資料;msdb 儲存 Agent 作業、排程、警示、SSIS 套件、備份歷史等。遺失將導致實例無法啟動或自動化任務癱瘓。TempDB 重啟自動重建,無需備份。
start /wait setup.exe /qn INSTANCENAME=MSSQLSERVER REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=YourStrongPassword
INSTANCENAME:預設實例用 MSSQLSERVER,具名實例填實例名。SAPWD:指定 sa 強密碼。DATA 目錄下會重新產生 master.mdf、mastlog.ldf。方法一:命令列啟動
sqlservr.exe -m (或 -c -f -m 最小配置)
方法二:SQL Server 組態管理器 → 服務屬性 → 進階 → 啟動參數加入 -m;,重啟服務。
連線 SSMS(僅允許單一連線),執行:
RESTORE DATABASE master FROM DISK = 'C:\Backup\master.bak' WITH REPLACE;
成功訊息:
已成功地還原了 master 資料庫。正在關閉 SQL Server。
服務自動停止,移除 -m 參數後重新啟動服務即可。
WITH REPLACE。ERRORLOG),確認資料檔路徑、權限、排序規則相容性。msdb 還原流程同一般使用者資料庫,但必須在單一使用者模式下進行。
RESTORE DATABASE msdb FROM DISK = 'C:\Backup\msdb.bak' WITH REPLACE, RECOVERY;替代方案:若 msdb 備份損毀或版本不符,可用 SSIS「傳輸登入帳號/作業」任務從同版本實例遷移作業、登入、操作員等物件,前須先建立相同的操作員與 Database Mail 設定檔。
model 為新資料庫範本,還原方式同 msdb(單一使用者模式 + WITH REPLACE)。
C:\>start /wait e:\setup.exe /qn INSTANCENAME=mssqlserver REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=abc123@!@
C:\>cd "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn"
C:\>sqlservr.exe -m
2008-04-18 15:47:46.56 Server Authentication mode is MIXED.
...
2008-04-18 15:47:47.96 spid5s SQL Server started in single-user mode.
...
2008-04-18 15:47:49.31 Server SQL Server is now ready for client connections.
此時另開 SSMS 視窗執行 RESTORE DATABASE master ...,觀察訊息確認成功。