首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

SQL Server 備份與還原完整圖解:完整、差異、交易記錄、檔案組備份策略實戰

     編輯:MySQL 資料庫相關知識

資料庫備份是 DBA 核心職責。本文系統整理 SQL Server 各備份類型定義、還原流程圖解、以及分區資料庫還原進階技巧。

一、備份類型核心概念

類型定義存檔屬性變化依賴關係
完整備份備份所有資料頁,建立基準點清除 (標記已備份)獨立,所有還原起點
差異備份備份上次完整備份後變更的區塊不清除依賴最近一次完整備份
交易記錄備份備份交易記錄區間,支援時間點還原清除需完整/大量記錄復原模式,形成記錄鏈
檔案/檔案組備份備份指定檔案群組視模式而定搭配記錄備份還原
部分備份READ_WRITE_FILEGROUPS 選項,針對大型資料庫--

二、典型備份策略範例

-- 週日 02:00 完整備份
-- 週一~週六 02:00 差異備份
-- 每 4 小時 交易記錄備份 (白天)
-- 磁碟故障發生於週四 09:12

-- 還原步驟:
1. 尾記錄備份 (若記錄檔未損壞)
2. 還原週日完整備份  (WITH NORECOVERY)
3. 還原週三差異備份  (WITH NORECOVERY)
4. 還原 04:00、08:00 交易記錄備份 (WITH NORECOVERY)
5. 還原尾記錄備份    (WITH RECOVERY)

三、SSMS 圖形化還原實戰 (三階段)

  1. 完整備份還原:選裝置 → 選 `.bak` → 選項頁勾選「WITH NORECOVERY」 → 還原後資料庫顯示「還原中...」。
  2. 差異備份還原:同樣流程,同樣選「WITH NORECOVERY」。
  3. 交易記錄還原:右鍵資料庫 → 工作 → 還原 → 交易記錄 → 可指定「停止於」特定時間點 → 選項頁預設「WITH RECOVERY」完成上線。

(原文包含 9 張 SSMS 截圖,此處略,實作請參考原文圖示)

四、進階:分區資料庫 (含 .ndf) 還原陷阱

情境一:目標伺服器已存在對應檔案組/檔案

還原精靈「還原為」欄位直接修改路徑/檔名即可成功。

情境二:目標伺服器新建檔案組/檔案後嘗試還原

可能報錯 「檔案已存在或無法存取」。解決兩法:

  • 重啟 SQL Server 服務後再還原。
  • 或執行 ALTER DATABASE [DB] SET SINGLE_USER WITH ROLLBACK IMMEDIATE; 設為單人模式再還原。

五、關鍵觀念補充

  • 記錄鏈:連續的交易記錄備份序列,從完整備份起算。除非完整備份選「覆寫現有備份集」,否則鏈不中斷。
  • 復原模式:簡單模式下無法進行交易記錄備份,也無法時間點還原。
  • 驗證備份:RESTORE VERIFYONLY FROM DISK='path.bak'; 定期執行,確保備份檔可用。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved