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

SQL Server 備份與災難恢復策略:RPO/RTO 導向的三種備份架構

     編輯:關於SqlServer

核心指標:RPO 與 RTO

  • RPO (Recovery Point Objective):可容忍的資料遺失量(時間點),決定備份頻率
  • RTO (Recovery Time Objective):可容忍的停機時間,決定恢復流程複雜度與自動化程度

制定備份策略前,必須先與業務主管確認這兩個指標。

三種主流備份架構比較

1. 僅完整備份

模式:每日/每週一次 FULL BACKUP

風險:兩次備份間的所有異動全遺失,RPO = 備份間隔

適用:資料極少變動、可接受全天資料遺失的非核心系統

2. 完整備份 + 交易記錄備份

模式:每日 1 次 FULL + 每 30-60 分鐘 1 次 LOG BACKUP

恢復:還原最新 FULL + 依序套用所有 LOG → 任意時間點

缺點:若故障發生在傍晚,需套用 20+ 個 LOG,恢復時間長(RTO 差)

3. 完整備份 + 差異備份 + 交易記錄備份 (推薦生產標準)

模式:

  • 每週日 02:00 FULL BACKUP
  • 週一至週六 02:00 DIFFERENTIAL BACKUP(只備份自上次 FULL 後的異動)
  • 全天每 30-60 分鐘 LOG BACKUP

恢復流程:最新 FULL → 最新 DIFF → 後續所有 LOG

優勢:DIFF 縮減了需套用的 LOG 數量,大幅降低 RTO

備份排程範例(維護計畫)

-- 步驟順序很重要
1. 檢查資料庫完整性 (DBCC CHECKDB)
2. 交易記錄尾部備份 (TAIL-LOG BACKUP) -- 災難發生前最後防線
3. 完整/差異/記錄備份

關鍵最佳實踐

  • 備份驗證:勾選「驗證備份完成」與「檢查總和檢查碼」
  • 異地備份:備份檔必須複製到不同實體位置/雲端
  • 定期演練:每季至少一次完整還原測試,記錄實際 RTO
  • 記錄備份頻率:核心系統建議 15 分鐘;非核心 60 分鐘
  • 壓縮備份:SQL Server 2008+ 支援 WITH COMPRESSION,減少 60-80% 體積
  • 加密備份:敏感資料啟用 WITH ENCRYPTION(需憑證管理)

硬體層面輔助

  • RAID 1/5/10 提供磁碟容錯(非備份替代品)
  • 資料檔(.mdf/.ndf)與記錄檔(.ldf)置於不同磁碟/陣列,分離 I/O
  • 記錄檔定期備份並截斷,防止無限增長
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved