偵錯控制流程
適用於: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 迴圈」容器上啟用中斷條件,以設定在迴圈的每個反覆運算開始時暫停執行的中斷點。
若要加強中斷點的彈性及能力,您可以藉由指定下列選項來修改中斷點的行為:
叫用計數,或執行暫停之前中斷條件出現的最大次數。
叫用計數類型,或指定中斷條件何時觸發中斷點的規則。
叫用計數會進一步限定「永遠」類型以外的叫用計數類型。 例如,如果類型為「叫用計數等於」而叫用計數為 5 的話,便會在第六次出現中斷條件時暫停執行。
下表描述叫用計數類型。
叫用計數類型 | 描述 |
---|---|
永遠 | 叫用中斷點時,一律暫停執行。 |
叫用計數等於 | 當中斷點發生的次數等於叫用計數時,暫停執行。 |
叫用次數大於或等於 | 當中斷點發生的次數大於或等於叫用計數時,暫停執行。 |
叫用計數倍數 | 每當到達叫用計數的倍數時,暫停執行。 例如,若您將此選項設定為 5,則每到達五次叫用便會暫停執行。 |
設定中斷點
進度報表
SSIS 設計師包含兩種類型的進度報告:[控制流程] 索引標籤之設計介面上的色彩編碼,以及 [進度] 索引標籤上的進度訊息。
當您執行套件時,SSIS 設計師會使用表示執行狀態的色彩來顯示每個工作或容器,以描述執行進度。 您可以根據元素的色彩判斷它是在等候執行、執行中、已順利完成,還是未成功結束。 在您停止封裝執行之後,色彩編碼會消失。
下表描述用於描述執行狀態的色彩。
Color | 執行狀態 |
---|---|
灰色 | 等候執行 |
黃色 | 執行中 |
綠色 | 執行成功 |
反白顯示 | 執行發生錯誤 |
[進度] 索引標籤會以執行順序列出工作及容器,並包含開始與完成時間、警告及錯誤訊息。 在您停止封裝執行之後,進度資訊在 [執行結果] 索引標籤上仍然可用。
注意
若要啟用或停用 [進度] 索引標籤上的訊息顯示,請在 [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 迴圈」容器或「時序」容器,然後按一下 [編輯中斷點] 。
在 [設定中斷點 <容器名稱>] 對話方塊中,選取要啟用的中斷點。
選擇性地修改每個中斷點的叫用計數類型和叫用計數數目。
若要儲存封裝,請按一下 [檔案] 功能表上的 [儲存選取項目] 。
[設定中斷點]
使用 [設定中斷點] 對話方塊,即可指定要啟用中斷點的事件並控制中斷點的行為。
選項。
已啟用
選取即可在事件上啟用中斷點。
Break Condition
檢視要設定中斷點之可用事件的清單。
Hit Count Type
指定中斷點生效的時間。
值 | 描述 |
---|---|
永遠 | 叫用中斷點時,一律暫停執行。 |
叫用計數等於 | 當中斷點發生的次數等於叫用計數時,暫停執行。 |
叫用大於或等於 | 當中斷點發生的次數大於或等於叫用計數時,暫停執行。 |
叫用計數倍數 | 每當到達叫用計數的倍數時,暫停執行。 例如,若您將此選項設定為 5,則每到達五次叫用便會暫停執行。 |
叫用計數
指定觸發中斷的叫用次數。 如果中斷點永遠有效,則無法使用此選項。