維護計畫建立後,如何在 SSMS 中檢視對應 Agent 作業、啟動 Agent 服務、手動執行/停用/修改計畫,以及 **多伺服器維護計畫 (MSX/TSX)** 部署架構。
1. 在 SSMS 中檢視維護計畫作業
- SSMS → 物件總管 → 連線 Database Engine → 展開目標伺服器。
- 展開 **SQL Server Agent** → **作業** 資料夾。
- 右側「物件總管詳細資料」頁籤或作業資料夾列表,可見由精靈/設計師建立的作業 (命名規則通常含 `MaintenancePlan_` 前綴)。
- 右鍵作業 → 「屬性」可檢視步驟、排程、通知、目標伺服器 (多伺服器時)。
2. SQL Server Agent 服務狀態管理
Agent 未啟動 = 所有排程作業不會執行。
- SSMS 物件總管 → 右鍵 **SQL Server Agent** → 「啟動」。
- 或「服務」 MMC (`services.msc`) → `SQL Server Agent (MSSQLSERVER)` → 啟動類型設為「自動」。
- 若彈出對話框提示「Agent 未執行」,按上述步驟啟動即可。
3. 維護計畫持續管理
- 修改計畫:SSMS → Management → Maintenance Plans → 右鍵計畫 → 「修改」→ 設計師/精靈編輯 → 儲存 (自動更新對應 SSIS 套件與 Agent 作業)。
- 手動執行:右鍵 Agent 作業 → 「啟動作業於步驟...」或右鍵維護計畫 → 「執行」。
- 停用/刪除:右鍵作業 → 「停用」/「刪除」;或右鍵維護計畫 → 「刪除」 (同步刪除套件、作業、排程、記錄)。
- 檢視執行歷程:右鍵作業 → 「檢視歷程記錄」;或查詢 `msdb.dbo.sysmaintplan_log`、`sysjobhistory`。
4. 多伺服器維護計畫 (MSX/TSX) 架構與部署
背景痛點
- 百台 SQL Server 逐台建立維護計畫 → 極高人力成本、配置漂移、驗證困難。
- 作業歷程分散 → 無法集中稽核成功/失敗/警告。
SP2 解決方案:主伺服器 (MSX) / 目標伺服器 (TSX)
- MSX (Master Server):唯一建立、管理、修改維護計畫的權威來源。
- TSX (Target Servers):僅**接收並執行**下發的作業,**不可修改**計畫定義。
- 前置條件:
- MSX 與所有 TSX 建立 **MSX/TSX 關係** (SSMS → SQL Server Agent → 右鍵「多伺服器管理」→「設定為主伺服器」/「設定為目標伺服器」)。
- 操作帳號需為**每台 SQL Server 的 `sysadmin` 固定伺服器角色成員**。
- 網路連通、RPC 啟用、時間同步 (NTP)。
- 部署流程:
- 在 MSX 上用精靈/設計師建立維護計畫。
- 儲存時自動將對應 Agent 作業標記為 **多伺服器作業** (目標伺服器清單可編輯)。
- MSX 透過 `msdb.dbo.sp_post_msx_operation` 將作業定義下發至 TSX。
- TSX Agent 定期輪詢 (預設 60 秒) `msdb.dbo.sysdownloadlist`,下載新作業/更新定義。
- TSX 執行結果回寫 `msdb.dbo.sysjobhistory`,**同步上傳至 MSX `msdb.dbo.sysjobhistory`** (集中記錄)。
關鍵限制與注意事項