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

MS SQL Server 基礎教程:備份與還原完整指南 (四大備份類型、三種復原模式、策略制定)

     編輯:關於SqlServer

15.1.1 備份與還原核心概念

  • 備份:複製資料庫/交易記錄,記錄備份時刻資料庫狀態
  • 還原:將受損資料庫恢復至備份決定的正常狀態,未完成交易不還原以維護一致性
  • 線上備份:備份期間允許其他操作,但禁止:建立/刪除資料庫檔案、建立索引、非記錄操作、自動/手動縮減檔案
  • 中斷續傳:備份/還原中斷可從中斷點繼續,大型資料庫極具價值

15.1.2 四大備份類型詳細解析

類型內容優點缺點/限制適用場景
完整資料庫備份
(Database Backup)
所有資料、物件、未完成交易記錄至檢查點單一檔案即可完整還原,操作簡單耗時長、佔空間大、無法還原備份後至失效前的變更資料不重要、變更頻率低、可接受資料遺失、離線維護窗口充足
交易記錄備份
(Transaction Log Backup)
上次記錄備份/差異/完整備份後的所有已認可交易空間小、速度快、可還原至任意時間點 (Point-in-Time Recovery)需搭配完整備份、還原順序嚴格、非記錄操作會中斷記錄鏈不允許資料遺失、資料庫頻繁變更、需時間點還原、磁碟空間有限
差異備份
(Differential Backup)
上次完整備份後變更的資料頁 (非增量,而是累積差異)比完整備份快/小、還原比純記錄備份快無法做到零資料遺失、隨時間增大配合完整+記錄備份:每日完整、每3-4小時差異、每20-30分鐘記錄
檔案/檔案組備份
(File/Filegroup Backup)
指定資料庫檔案或檔案組僅還原受損檔案,速度快還需記錄備份保證一致性、跨檔案表/索引需協調備份超大型資料庫 (VLDB)、部分檔案損壞、特定檔案組頻繁變更

15.1.3 三種復原模式

模式支援備份類型還原能力記錄行為典型策略
簡單
(Simple)
完整、差異僅能還原至最近備份點檢查點自動截斷記錄,不可記錄備份每日完整 + 定期差異
完整
(Full)
完整、差異、記錄可還原至失效時刻 (零資料遺失)所有操作完整記錄 (含大量作業)完整備份 + 差異 + 高頻記錄
大量記錄
(Bulk-Logged)
完整、差異、記錄可還原至失效時刻 (大量作業除外)大量作業 (SELECT INTO、BCP、建立索引) 最小記錄同完整模式,但大量匯入窗口切換此模式

綜合備份策略範例 (企業級建議)


-- 策略:零資料遺失、RTO 最小化
-- 1. 每日 02:00 完整備份 (Full)
-- 2. 每 4 小時 差異備份 (06:00, 10:00, 14:00, 18:00, 22:00)
-- 3. 每 30 分鐘 交易記錄備份
-- 4. 發生災難時還原順序:
--    a. 最近完整備份 (WITH NORECOVERY)
--    b. 最近差異備份 (WITH NORECOVERY)
--    c. 依序所有記錄備份 (WITH NORECOVERY)
--    d. 最後一筆記錄備份 (WITH RECOVERY) 或 STOPAT 指定時間點

進階技巧:災難發生時的「尾部記錄備份」

  1. 若資料庫檔案損壞但 **記錄檔 (LDF) 仍可存取** → 立即備份作用中記錄 (Tail-Log Backup)
  2. 還原順序:完整 → 差異 → 記錄 (含尾部記錄)
  3. 若 LDF 也損壞 → 僅能還原至最後一次記錄備份點,接受資料遺失

備份裝置與效能優化

  • 多重備份裝置平行寫入:BACKUP DATABASE ... TO DISK='...', DISK='...', ... 顯著縮短備份窗口
  • 壓縮備份 (SQL 2008+ Enterprise):WITH COMPRESSION 減少 50-80% 體積
  • 鏡像備份集:MIRROR TO 同步寫入異地儲存
  • 備份校驗:WITH CHECKSUM 偵測媒體損壞,RESTORE VERIFYONLY 定期驗證可還原性
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved