企業級備份策略的核心在於:在 RPO/RTO 約束下,通過備份範圍決定「備什麼」,通過備份類型決定「備多少」,構建分層備份集合。本文系統梳理 SQL Server 三大備份範圍、兩大備份類型、組合策略與恢復模型關聯。
| 範圍 | 覆蓋內容 | 適用場景 | 優/缺點 |
|---|---|---|---|
| 完整備份 | 整個數據庫:所有數據頁、系統表、足夠恢復到備份完成時點的活動日志 | 基準線、小型數據庫、離線維護窗口 | ✅ 恢復最簡單(單文件) ❌ 耗時長、佔空間大 |
| 部分備份 | 主文件組 + 所有讀寫文件組 + 指定只讀文件組 | 大型數據庫、包含大量歷史/歸檔只讀文件組 | ✅ 跳過不變只讀數據 ❌ 恢復需先恢復主文件組 |
| 文件/文件組備份 | 指定單個/多個文件或文件組 | 超大數據庫分片備份、只讀文件組一次性備份、輔助差異策略 | ✅ 粒度最細、可並行 ❌ 管理複雜、恢復鏈長 |
| 類型 | 定義 | 典型頻率 | 恢復鏈位置 |
|---|---|---|---|
| 完整備份 | 範圍內所有數據,無論修改時間 | 每日/每周 | 差異/日志備份的基準點 (LSN 基準) |
| 差異備份 | 自上次同範圍完整備份以來變更的數據頁 (DCM 頁追蹤) | 每小時/每 4 小時 | 依賴最近一次完整備份,恢復時:完整 + 最新差異 + 後續日志 |
關鍵結論:備份範圍與備份類型正交組合。例如:文件組 FG1 完整備份 + 文件組 FG1 差異備份 形成獨立恢復鏈,不影響其他文件組。
| 模型 | 日志備份 | 時間點恢復 | 適用場景 |
|---|---|---|---|
| 完整 | ✅ 必須 | ✅ 任意時間點 | 核心業務、金融、電商 |
| 大量日志 | ✅ 支持 | ⚠️ 僅非大量操作時間點 | 大批量載入/索引重建窗口 |
| 簡單 | ❌ 不支持 | ❌ 僅能恢復到備份點 | 開發/測試、只讀數據倉庫、可容忍數據丟失 |
-- 核心業務庫 (完整恢復模型)
周日 02:00 完整備份 (壓縮、校驗和) -- 基準
周一-六 02:00 差異備份 -- 日級增量
每 15 分鐘 日志備份 (壓縮、網絡共享) -- RPO 15 分鐘
每月首日 完整備份歸檔至異地存儲 (Azure Blob / S3 / 磁帶) -- 長期保留
BACKUP DATABASE ... WITH COPY_ONLY 不會重置差異基準;但普通完整備份會重置,導致後續差異備份體積暴增。RESTORE VERIFYONLY + 實測恢復至測試環境。master (登錄/鏈接服務器/配置)、msdb (作業/歷史/警報) 必須納入備份計劃。備份策略無標準答案,只有「在 RPO/RTO/成本 三角形中找到平衡點」。以恢復演練為唯一檢驗標準,持續迭代備份架構,才是數據資產的真正守護者。