自動化管理核心概念
預先定義「可預測的管理任務」與「觸發條件」,滿足條件時自動執行,釋放 DBA 專注於調優等高價值工作。
排程:自動化的時間與條件控制器
- 指定作業「何時/何種條件下」啟動
- 一個排程可套用多工作業;一作業可套用多排程
- 不僅支援固定日期時間,亦支援系統狀態條件(如 SQL Agent 啟動時、CPU 閒置時)
- 限制:同一作業同一時間僅能執行一個實例(排程觸發時手動執行會被拒絕)
三大常用排程觸發類型
1. 特定日期時間執行一次
- 適用:一次性維護(如結構變更後的完整備份)
- 例:今天新增資料表,排程今晚 00:00 執行完整備份
2. 週期性重複執行
- 適用:例行作業(每日備份、每週索引重建)
- 例:每日 00:00 自動完整備份
3. CPU 閒置狀態觸發(重點)
- 當 CPU 使用率低於定義閾值並持續一段時間時觸發
- 適用:資源密集型作業(索引重建、大量資料匯入、統計更新)
- 效益:避免與線上業務爭搶 CPU,大幅降低對使用者影響
CPU 閒置排程適用作業判斷
原則上任何作業皆可套用,但高 CPU/記憶體消耗作業效益最明顯:
- 索引重建/重組(隨資料量增長耗資源呈指數級上升)
- 大型資料載入/轉換(ETL)
- 統計資訊更新(全表掃描)
- 資料庫完整性檢查 (DBCC CHECKDB)
將此類作業排入 CPU 閒置時段,可兼顧維護品質與線上效能。