適用於:SQL Server
Azure Data Factory 中的 SSIS Integration Runtime
SQL Server Data Tools (SSDT) 和 Microsoft Integration Services 包含可用來對 Integration Services 套件中的控制流程進行疑難排解的功能和工具。
Integration Services 支援在容器和任務上設定中斷點。
SSIS 設計師提供執行階段的進度報告。
SQL Server Data Tools (SSDT) 提供偵錯視窗。
中斷點
SSIS 設計師提供 [設定中斷點] 對話方塊,您可以在此處設定中斷點,方法是啟用中斷條件,並指定在套件執行暫止之前可出現中斷點的次數。 中斷點可以在封裝層級啟用,也可以在個別元件層級啟用。 如果中斷條件在工作或容器層級啟用,則中斷點圖示會顯示在 [控制流程] 索引標籤之設計介面的工作或容器旁。如果中斷條件在封裝上啟用,則中斷點圖示會顯示在 [控制流程] 索引標籤的標籤上。
當觸發中斷點時,中斷點圖示會變更,以協助您辨識中斷點的來源。 您可以在封裝執行時加入、刪除及變更中斷點。
Integration Services 提供您可以在所有工作和容器上啟用的十個中斷條件。 在 [設定中斷點] 對話方塊中,您可以在滿足下列條件時啟用中斷點:
| 中斷條件 | 描述 |
|---|---|
| 當工作或容器收到 OnPreExecute 事件時。 | 當任務即將執行時會呼叫。 工作或容器會在執行前立即引發此事件。 |
| 當工作或容器接收 OnPostExecute 事件時。 | 在任務的執行邏輯結束後立即呼叫。 工作或容器會在執行之後立即引發此事件。 |
| 當工作或容器收到 OnError 事件時。 | 當發生錯誤時,由任務或容器呼叫。 |
| 當工作或容器收到 OnWarning 事件時。 | 當任務處於不足以構成錯誤、但足以發出警告的狀態時會呼叫。 |
| 當工作或容器收到 OnInformation 事件時。 | 當任務需要提供資訊時呼叫。 |
| 當工作或容器收到 OnTaskFailed 事件時。 | 由工作主機在失敗時呼叫。 |
| 當工作或容器收到 OnProgress 事件時。 | 用於更新任務執行進度。 |
| 當工作或容器收到 OnQueryCancel 事件時。 | 在任務處理期間,只要可以取消執行,就會在任何時間被呼叫。 |
| 當工作或容器收到 OnVariableValueChanged 事件時。 | 在變數的值變更時由 Integration Services 執行階段呼叫。 變數的 RaiseChangeEvent 必須設為 [true] ,方可引發此事件。 ** 警告 ** 與此中斷點相關聯的變數必須定義於容器範圍。 如果變數定義在套件範圍,則中斷點不會被觸發。 |
| 當任務或容器收到 OnCustomEvent 事件時。 | 供工作呼叫,以引發工作所定義的自訂事件。 |
除可用於所有工作及容器的中斷條件之外,部份工作及容器還包含用於設定中斷點的特殊中斷條件。 例如,您可以在「For 迴圈」容器上啟用中斷條件,以設定在迴圈的每個反覆運算開始時暫停執行的中斷點。
若要加強中斷點的彈性及能力,您可以藉由指定下列選項來修改中斷點的行為:
命中次數,亦即在暫停執行之前,中斷條件出現的最大次數。
命中次數類型,或指定中斷條件何時觸發中斷點的規則。
除「Always」類型外,其他命中次數類型還會根據命中次數進一步限定。 例如,如果類型為「命中次數等於」且命中次數為 5,則會在中斷條件第六次成立時暫停執行。
下表說明命中次數類型。
| 命中次數類型 | 描述 |
|---|---|
| 永遠 | 命中中斷點時,一律會暫停執行。 |
| 命中次數等於 | 當中斷點的叫用次數等於叫用計數時,執行會暫停。 |
| 命中次數大於或等於 | 當中斷點發生次數等於或大於命中次數時,執行會暫停。 |
| 命中計數倍數 | 當命中次數達到某個倍數時,執行會暫停。 例如,若您將此選項設為 5,則每第 5 次執行時便會暫停。 |
設定中斷點
進度報表
SSIS 設計師包含兩種類型的進度報告:[控制流程] 索引標籤之設計介面上的色彩編碼,以及 [進度] 索引標籤上的進度訊息。
當您執行套件時,SSIS 設計師會使用表示執行狀態的色彩來顯示每個工作或容器,以描述執行進度。 您可以根據元素的色彩判斷它是在等候執行、執行中、已順利完成,還是未成功結束。 在您停止封裝執行之後,色彩編碼會消失。
下表描述用於描述執行狀態的色彩。
| 顏色 | 執行狀態 |
|---|---|
| 灰色 | 等待執行 |
| 黃色 | 執行中 |
| 綠色 | 執行成功 |
| 反白顯示 | 執行時發生錯誤 |
[進度] 索引標籤會以執行順序列出工作及容器,並包含開始與完成時間、警告及錯誤訊息。 在您停止封裝執行之後,進度資訊在 [執行結果] 索引標籤上仍然可用。
注意
若要啟用或停用 [進度] 索引標籤上的訊息顯示,請在 [SSIS] 功能表上切換 [偵錯進度報表] 選項。
下圖顯示進度索引標籤。
偵錯視窗
SQL Server Data Tools (SSDT) 包含許多視窗,可用來處理中斷點以及偵錯包含中斷點的套件。 若要了解每個視窗的詳細資訊,請開啟該視窗並按 F1,以顯示視窗的 [說明]。
若要在 SQL Server Data Tools (SSDT) 中開啟這些視窗,請按一下 偵錯 功能表,指向 視窗,然後按一下 中斷點、輸出 或 即時。
下表說明每個視窗。
| 視窗 | 描述 |
|---|---|
| 中斷點 | 列出封裝中的中斷點,並提供啟用及刪除中斷點的選項。 |
| 輸出 | 顯示 SQL Server Data Tools (SSDT) 功能的狀態訊息。 |
| 立即 | 用於偵錯及評估運算式並列印變數值。 |
透過在工作或容器上設定中斷點來偵錯套件
此程序描述如何在封裝、工作、「For 迴圈」容器、「Foreach 迴圈」容器或「時序」容器中設定中斷點。
若要在封裝、工作或容器中設定中斷點
在 SQL Server Data Tools (SSDT) 中,開啟您需要的套件所屬的 Integration Services 專案。
按兩下您要在其中設定中斷點的套件。
在 [SSIS 設計師] 中,執行下列動作:
若要在封裝物件中設定中斷點,請按一下 [控制流程] 索引標籤,並將資料指標置於設計介面背景上的任意位置,再以滑鼠右鍵按一下,然後按一下 [編輯中斷點] 。
若要在封裝控制流程中設定中斷點,請按一下 [控制流程] 索引標籤,並以滑鼠右鍵按一下工作、「For 迴圈」容器、「Foreach 迴圈」容器或「時序」容器,然後按一下 [編輯中斷點] 。
若要在事件處理常式中設定中斷點,請按一下 [事件處理常式] 索引標籤,並以滑鼠右鍵按一下工作、「For 迴圈」容器、「Foreach 迴圈」容器或「時序」容器,然後按一下 [編輯中斷點] 。
在 [設定中斷點 <容器名稱>] 對話方塊中,選取要啟用的中斷點。
您也可以修改每個中斷點的命中次數類型和命中次數。
若要儲存封裝,請按一下 [檔案] 功能表上的 [儲存選取項目] 。
[設定中斷點]
使用 [設定中斷點] 對話方塊,即可指定要啟用中斷點的事件並控制中斷點的行為。
選項
已啟用
選取即可在事件上啟用中斷點。
斷裂狀態
檢視要設定中斷點之可用事件的清單。
安打數量類型
指定中斷點生效的時間。
| 值 | 描述 |
|---|---|
| 永遠 | 命中中斷點時,一律會暫停執行。 |
| 命中次數等於 | 當中斷點的叫用次數等於叫用計數時,執行會暫停。 |
| 按下大於或等於 | 當中斷點發生次數等於或大於命中次數時,執行會暫停。 |
| 命中次數倍數 | 當命中次數達到某個倍數時,執行會暫停。 例如,若您將此選項設為 5,則每第 5 次執行時便會暫停。 |
命中次數
指定要在命中次數達到多少時觸發中斷。 如果中斷點永遠有效,則無法使用此選項。