善用 SSMS 內建「維護計劃」可零代碼實現資料庫自動備份、清除舊備份檔。本文以「週日完整、其餘日差異」為例,完整記錄建立步驟。
備份策略設計
- 資料庫中小型、資料重要性高 → 每日一備足夠。
- 週日 02:00 完整備份,週一~週六 02:00 差異備份。
- 備份檔保留 2 週,超期自動刪除。
建立維護計劃步驟 (SSMS 圖形化)
- 管理 → 維護計劃 → 新建維護計劃,命名 (如
DailyBackupPlan)。
- 工具箱拖曳 「備份資料庫 (完整)」 與 「備份資料庫 (差異)」 兩個工作到設計面。
- 設定完整備份工作:
- 資料庫:選擇目標資料庫 (或全部)。
- 目的地:磁碟,指定資料夾 (如
D:\SQLBackup\Full\),副檔名 .bak。
- 排程:週日,02:00 執行。
- 設定差異備份工作:
- 資料庫:同完整備份。
- 目的地:
D:\SQLBackup\Diff\,副檔名 .diff。
- 排程:週一~週六,02:00 執行。
- 加入清理維護工作 (兩個子計劃各加一組):
- 拖曳「清除歷程記錄」→ 刪除超過 14 天的備份/還原歷程。
- 拖曳「清除維護」→ 刪除超過 14 天的
.bak / .diff 檔案。
- 用綠色箭頭連接:備份 → 清除歷程 → 清除檔案 形成循序流程。
- 儲存計劃,SQL Server Agent 會自動建立對應作業 (可在「作業」節點查看)。
進階情境建議
| 情境 | 建議方案 |
| 資料庫超大 (TB 級),流水帳資料多 | 垂直切分:將流水表移出獨立資料庫,分別備份 |
| 無法切分資料庫,但有大表 | 資料表分區 → 僅備份熱門分區 (主分區備份),但差異備份不可用 |
| RPO < 1 天 (需更頻繁備份) | 啟用「發行訂閱」交易式複寫,雙機熱備,秒級同步 |
驗證與監控
- 每週抽查
msdb.dbo.backupset 確認備份成功紀錄。
- 設定 Agent 作業失敗通知 (Database Mail) 給 DBA 信箱。
- 每季演練還原測試,驗證備份檔可用性。