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

SQL Server 維護計劃實作:自動化完整與差異備份排程

     編輯:MySQL 資料庫相關知識

善用 SSMS 內建「維護計劃」可零代碼實現資料庫自動備份、清除舊備份檔。本文以「週日完整、其餘日差異」為例,完整記錄建立步驟。

備份策略設計

  • 資料庫中小型、資料重要性高 → 每日一備足夠。
  • 週日 02:00 完整備份,週一~週六 02:00 差異備份。
  • 備份檔保留 2 週,超期自動刪除。

建立維護計劃步驟 (SSMS 圖形化)

  1. 管理 → 維護計劃 → 新建維護計劃,命名 (如 DailyBackupPlan)。
  2. 工具箱拖曳 「備份資料庫 (完整)」 與 「備份資料庫 (差異)」 兩個工作到設計面。
  3. 設定完整備份工作:
    • 資料庫:選擇目標資料庫 (或全部)。
    • 目的地:磁碟,指定資料夾 (如 D:\SQLBackup\Full\),副檔名 .bak。
    • 排程:週日,02:00 執行。
  4. 設定差異備份工作:
    • 資料庫:同完整備份。
    • 目的地:D:\SQLBackup\Diff\,副檔名 .diff。
    • 排程:週一~週六,02:00 執行。
  5. 加入清理維護工作 (兩個子計劃各加一組):
    • 拖曳「清除歷程記錄」→ 刪除超過 14 天的備份/還原歷程。
    • 拖曳「清除維護」→ 刪除超過 14 天的 .bak / .diff 檔案。
    • 用綠色箭頭連接:備份 → 清除歷程 → 清除檔案 形成循序流程。
  6. 儲存計劃,SQL Server Agent 會自動建立對應作業 (可在「作業」節點查看)。

進階情境建議

情境建議方案
資料庫超大 (TB 級),流水帳資料多垂直切分:將流水表移出獨立資料庫,分別備份
無法切分資料庫,但有大表資料表分區 → 僅備份熱門分區 (主分區備份),但差異備份不可用
RPO < 1 天 (需更頻繁備份)啟用「發行訂閱」交易式複寫,雙機熱備,秒級同步

驗證與監控

  • 每週抽查 msdb.dbo.backupset 確認備份成功紀錄。
  • 設定 Agent 作業失敗通知 (Database Mail) 給 DBA 信箱。
  • 每季演練還原測試,驗證備份檔可用性。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved