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

SQL Server 備份與災難恢復策略(下):差異+記錄混合策略實戰與恢復演練要點

     編輯:關於SqlServer

策略 3 詳細時序:完整 + 差異 + 記錄


Day 1 00:00  FULL
       04:00  LOG
       08:00  LOG
       12:00  LOG
       16:00  LOG
       20:00  DIFF  (含 00:00 以來所有變更)
Day 2 00:00  FULL
       ...

關鍵:差異備份基準永遠是「最近一次完整備份」,不疊代。記錄備份鏈不可斷裂。

災難發生時的恢復路徑對比

故障時間僅完整備份完整+記錄完整+差異+記錄
Day 1 23:59還原 Day 1 00:00 Full → 丟失 24h 資料還原 Day 1 00:00 Full + 23 Log → 耗時長還原 Day 1 00:00 Full + 1 Diff (20:00) + 3 Log → 最快

維護計劃實作要點 (SSMS Maintenance Plan)

  1. 子計劃 1:完整備份 — 每日 00:00,保留 7 天,驗證備份完整性
  2. 子計劃 2:差異備份 — 每 6 小時,保留 3 天
  3. 子計劃 3:記錄備份 — 每 15 分鐘,保留 2 天
  4. 子計劃 4:清理維護 — 刪除過期 .bak/.trn,壓縮備份檔
  5. 子計劃 5:完整性檢查 — 每週 DBCC CHECKDB,異常郵件通知
  6. 子計劃 6:索引重組/重建 — 依碎片率動態選擇,更新統計資料

備份驗證:不可跳過的關鍵環節

  • RESTORE VERIFYONLY FROM DISK = 'path\file.bak' — 僅驗證檔案可讀性
  • 定期實戰演練:每季在測試環境完整還原生產備份,驗證 RTO/RPO 達標
  • RESTORE HEADERONLY、RESTORE FILELISTONLY 確認備份組內容

異地備份與加密

  • 備份檔案加密:SQL 2014+ 支援 WITH ENCRYPTION (ALGORITHM = AES_256, SERVER CERTIFICATE = cert_name)
  • 傳輸加密:rsync over SSH、rclone crypt、專用備份軟體 (Veeam, Commvault)
  • 異地存儲:至少兩地三中心,雲端 (S3/Azure Blob) + 物理帶庫/磁帶

時間點恢復 (Point-in-Time Recovery) 步驟


-- 1. 還原完整備份 (NORECOVERY)
RESTORE DATABASE MyDB FROM DISK = 'Full.bak' WITH NORECOVERY, REPLACE;

-- 2. 還原最新差異備份 (NORECOVERY)
RESTORE DATABASE MyDB FROM DISK = 'Diff.bak' WITH NORECOVERY;

-- 3. 依序還原記錄備份 (NORECOVERY)
RESTORE LOG MyDB FROM DISK = 'Log_1.trn' WITH NORECOVERY;
RESTORE LOG MyDB FROM DISK = 'Log_2.trn' WITH NORECOVERY;
...

-- 4. 停止於指定時間點 (STOPAT)
RESTORE LOG MyDB FROM DISK = 'Log_Final.trn' WITH STOPAT = '2023-10-26 14:30:00', RECOVERY;

常見陷阱避坑指南

  1. 記錄備份鏈斷裂:切換恢復模式、縮小日誌檔案、備份失敗未重跑 → 導致無法時間點恢復
  2. 差異備份基準錯誤:手動執行完整備份未通知維護計劃 → 後續差異備份體積暴增
  3. 備份檔案損壞未發現:未啟用 CHECKSUM、未驗證、未異地複製
  4. 恢復演練從未進行:文檔只有理論步驟,實戰手抖、權限不足、路徑錯誤

總結

「備份不驗證等於沒備份,演練不實戰等於沒預案。」建立 Full + Diff + Log 分層策略,配合自動化維護計劃、定期實戰演練、異地加密存儲,才是企業級資料保護的標準姿態。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved