首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 2008 master 與 msdb 系統資料庫備份還原實戰手冊

     編輯:關於SqlServer

核心原則

系統資料庫 (master, model, msdb) 備份方式與使用者資料庫相同,還原關鍵在於以單一使用者模式啟動 SQL Server。TempDB 無需備份 (每次啟動重建)。

一、master 資料庫還原

情境 A:有備份檔、服務可啟動 → 單一使用者模式還原

  1. 啟動單一使用者模式:
    CMD 進入 C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn
    執行 sqlservr.exe -m (或 sqlservr -c -f -m)
  2. 另開 SSMS,中斷現有連線,新增查詢視窗執行:
USE master;
GO
RESTORE DATABASE master FROM DISK='C:\Backup\master.bak';
GO
  1. 訊息顯示「已成功還原 master 資料庫,正在關閉 SQL Server」即完成
  2. 正常啟動 SQL Server 服務

情境 B:無備份或服務無法啟動 → 重建 master

Setup.exe /qn INSTANCENAME=MSSQLSERVER REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=StrongPassword
-- 參數說明:
-- INSTANCENAME: 執行個體名 (預設 MSSQLSERVER)
-- REINSTALL: SQL_Engine
-- REBUILDDATABASE=1: 重建系統資料庫
-- SAPWD: 強密碼
-- /qn: 靜默安裝,日誌寫入安裝記錄

重建完成後再依情境 A 還原備份。

實戰記錄 (作者親測)

  • 刪除 master.mdf 模擬損毀
  • 執行重建命令,檢查資料目錄 master.mdf 重新出現
  • 單一使用者模式啟動 (sqlservr -m),SSMS 連線還原備份
  • 還原成功訊息:處理 376 頁資料、6 頁記錄,關閉 SQL Server
  • 正常啟動服務,資料完整恢復

二、msdb 資料庫還原

msdb 儲存 SQL Agent 作業/排程/警示/操作員、SSIS 套件等。

  1. SSMS 連線 → 右鍵 msdb → 屬性 → 選項 → 限制存取 = SINGLE_USER
  2. 執行一般資料庫還原流程 (同使用者資料庫)
  3. 還原完成 → 將 限制存取 改回 MULTI_USER

三、替代單一使用者啟動法 (組態管理員)

  1. 開啟 SQL Server 組態管理員 → SQL Server 服務
  2. 右鍵執行個體 → 屬性 → 進階 → 啟動參數 前加 -m;
  3. 確定 → 重啟服務 → 進入單一使用者模式
  4. 還原完成後移除 -m; 並重啟服務恢復多使用者

四、sqlcmd 命令列還原 (無 SSMS 環境)

net start "SQL Server (MSSQLSERVER)" /m
sqlcmd
1> USE master; GO
1> RESTORE DATABASE master FROM DISK='備份路徑'; GO
-- 若報錯「備份集與現有 master 不同」→ 加 WITH REPLACE
1> RESTORE DATABASE master FROM DISK='備份路徑' WITH REPLACE; GO
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved