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

SQL Server 2005 資料維護實務指南 (4):手動設計師建立進階工作流、優先順序約束與平行執行

     編輯:關於SqlServer

維護計畫設計師提供 **工作流視覺化設計面**,支援任務拖曳、優先順序約束 (成功/失敗/完成)、平行分支、T-SQL 檢視、遠端記錄、報表整合,適合複雜生產環境需求。

手動建立維護計畫完整流程

  1. 新建計畫:SSMS → Maintenance Plans → 右鍵「新增維護計畫」→ 命名 → 進入設計師。
  2. 工具箱拖曳任務:左側「維護計畫任務」工具箱拖曳所需任務至設計面 (如:備份資料庫 → 重新建立索引 → 更新統計資料 → 清除歷程)。
  3. 建立優先順序約束 (綠/紅/藍箭頭):
    • 點選來源任務 → 右鍵「加入優先順序約束」 → 點選目標任務。
    • 雙擊箭頭或右鍵「編輯」開啟 **優先順序約束編輯器**:

優先順序約束編輯器關鍵設定

屬性選項行為
評估作業條件約束 / 條件約束與運算式 / 僅運算式單純看上游結果 / 結合變數運算式 / 僅看運算式結果
值成功 / 失敗 / 完成上游任務狀態觸發條件
邏輯AND / OR多條件約束時:全部滿足 (AND) 或任一滿足 (OR)
運算式如 `@[User::BackupSize] > 1000`SSIS 變數/系統變數布林運算式

經典工作流模式

備份資料庫 (成功) ──綠箭頭──► 重新建立索引
      │
      └──紅箭頭 (失敗) ──► 發送警告郵件 (自訂 Script Task / Agent 作業)

**含義**:備份成功才執行索引重建;備份失敗觸發告警,**不執行** 後續修改性任務,保護資料一致性。

平行執行 (Parallel Branches)

多任務**無相依關係**時,可從同一上游任務拉出多條綠箭頭指向不同下游任務,實現**同時啟動**。

          ┌─► 重新建立索引 (資料庫 A)
備份完成 ──┤
          └─► 更新統計資料 (資料庫 B)

適用場景:不同資料庫/不同伺服器的同類維護任務、獨立 ETL 流程平行推進。

進階功能亮點

  • 檢視 T-SQL:工具列「檢視 T-SQL」按鈕,將設計師配置**即時轉換為對應 T-SQL 指令碼**,極利於無深厚程式基礎的 DBA 學習、審核、版控、離線部署。
  • 報表與記錄:設計師工具列「報表與記錄」圖示 → 設定文字檔報表路徑、郵件收件人、**記錄擴充資訊**、**遠端伺服器記錄** (SP2 新增,集中管理多伺服器維護日誌)。
  • 子計畫巢狀:設計師支援在計畫中呼叫另一維護計畫 (「執行維護計畫」任務),實現模組化重用。

驗證與部署

  1. 工具列「驗證」檢查邏輯錯誤 (斷開連線、缺少必要屬性)。
  2. 儲存 → 自動在 `msdb` 建立對應 SSIS 套件與 Agent 作業。
  3. 確認 Agent 服務**啟動中**,排程才會觸發。

設計師 vs 精靈:選型指南

需求推薦工具
標準化、快速上線、單一排程精靈
複雜依賴、條件分支、平行化、遠端日誌、T-SQL 審核設計師
跨伺服器統一部署設計師 + 多伺服器維護計畫 (下集)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved