Integration Services 包含的功能和工具,可讓您在 SQL Server Data Tools (SSDT) 中開發套件時用來針對套件進行疑難解答。
針對設計階段驗證問題進行疑難解答
在目前的 Integration Services 版本中,當程序包開啟時,系統會先驗證所有連線,然後再驗證所有資料流元件,並將任何速度緩慢或不可用的連線設置為離線模式。 這有助於減少驗證封裝數據流的延遲。
開啟封裝之後,您也可以在 [ 連接 管理器] 區域中以滑鼠右鍵按兩下連接管理員,然後按兩下 [ 離線工作] 來關閉連接。 這可以加速 SSIS 設計工具中的作業。
已設為離線工作的連線將保持離線狀態,直到您執行下列其中一項:
在 SSIS 設計工具的 [ 連接管理器 ] 區域中,以滑鼠右鍵按兩下連接管理員,然後按兩下 [ 測試連線能力],以測試連接。
例如,當封裝開啟時,連線一開始會設定為離線工作。 您可以修改連接字串來解決問題,然後按兩下 [ 測試 連線能力] 以測試連線。
重新開啟封裝,或重新開啟包含封裝的專案。 驗證會在封裝中的所有連線上再次執行。
Integration Services 包含下列其他功能,可協助您避免驗證錯誤:
當數據源無法使用時,將所有套件和所有連線設定為離線。 您可以從 SSIS 功能表啟用 [離線工作]。
DelayValidation不同於該屬性,即使在您開啟套件之前,Work Offline選項也可使用。 您也可以啟用 [離線工作] 來加速設計師中的作業,並只有在想要驗證封裝時才停用這個功能。在運行時間之前無效的封裝元素上設定 DelayValidation 屬性。 您可以在設計時間設定無效的封裝元素上設定
DelayValidation為True,以防止驗證錯誤。 例如,您可能有一個資料流程任務,該任務使用作為目的地的數據表,而此數據表在運行期間由“執行SQL任務”建立之前並不存在。DelayValidation屬性可以在封裝層級或封裝所包含的個別工作和容器層級啟用。 一般而言,當您部署封裝時,必須將這個屬性保持設定為True,以便在相同的封裝元素上防止運行期間出現相同的驗證錯誤。屬性
DelayValidation可以在數據流工作上設定,但不能在個別數據流元件上設定。 您可以將個別數據流元件的 屬性設定 ValidateExternalMetadata 為false,以達到類似的效果。 不過,當這個屬性的值是false時,元件並不知道外部數據源元數據的變更。
如果封裝所使用的資料庫對象在驗證發生時遭到鎖定,驗證程式可能會停止回應。 在這些情況下,SSIS 設計工具也會停止回應。 您可以使用Management Studio來關閉 SQL Server 中相關聯的會話,以繼續驗證。 您也可以使用本節所述的設定來避免此問題。
疑難排除控制流程
Integration Services 包含下列功能和工具,您可以在套件開發期間用來針對套件中的控制流程進行疑難解答:
在工作、容器和封裝上設定斷點。 您可以使用 SSIS 設計工具提供的圖形工具來設定斷點。 您可以在封裝層級或封裝所包含的個別工作和容器層級啟用斷點。 某些任務和容器提供額外的中斷條件以設定斷點。 例如,您可以在 For 迴圈容器上啟用中斷條件,以在迴圈的每個反覆項目開始時暫停執行。
使用偵錯視窗。 當您執行具有斷點的封裝時,SQL Server Data Tools (SSDT) 中的偵錯視窗會提供變數值和狀態消息的存取權。
檢閱 [進度] 索引標籤上的資訊。當您在 SQL Server Data Tools (SSDT) 中執行封裝時,SSIS 設計工具會提供有關控制流程的其他資訊。 [進度] 索引標籤會依執行順序列出工作和容器,並包含每個工作和容器的開始和完成時間、警告和錯誤訊息,包括封裝本身。
如需這些功能的詳細資訊,請參閱 偵錯控制流程。
資料流故障排除
Integration Services 包含下列功能和工具,您可以在套件開發期間用來針對套件中的數據流進行疑難解答:
僅使用數據子集進行測試。 如果您想要只使用數據集的範例對封裝中的數據流進行疑難解答,則可以包含百分比取樣或數據列取樣轉換,以在運行時間建立內嵌數據範例。 如需詳細資訊,請參閱 百分比取樣轉換 和數據 列取樣轉換。
使用資料查看器在數據流中移動時監視數據。 數據查看器會在數據在來源、轉換和目的地之間移動時顯示數據值。 數據查看器可以在方格中顯示數據。 您可以將數據從數據查看器複製到剪貼簿,然後將數據貼到檔案或 Excel 電子表格中。 如需詳細資訊,請參閱 將數據查看器新增至數據流。
在支援錯誤輸出的數據流元件上配置錯誤輸出。 許多數據流來源、轉換和目的地也支援錯誤輸出。 藉由設定資料流元件的錯誤輸出,您可以將包含錯誤的數據導向至不同的目的地。 例如,您可以將失敗或被截斷的數據擷取到一個單獨的文本檔案中。 您也可以將數據查看器附加至錯誤輸出,並只檢查錯誤的數據。 在設計階段,錯誤輸出的值會擷取問題數據值,以協助您開發能有效處理真實世界數據的套件。 不過,雖然其他疑難解答工具和功能只有在設計時間才有用,但錯誤輸出會在生產環境中保留其效用。 如需詳細資訊,請參閱 處理資料中的錯誤。
擷取已處理的數據列計數。 當您在 SSIS 設計工具中執行封裝時,數據流設計工具中會顯示通過路徑的數據列數目。 當數據通過路徑時,會定期更新此數位。 您也可以將數據列計數轉換新增至數據流,以擷取變數中的最終數據列計數。 如需詳細資訊,請參閱 Row Count Transformation。
檢閱 [進度] 索引標籤上的資訊。當您在 SQL Server Data Tools 中執行封裝時,SSIS 設計工具會提供數據流的其他資訊。 [進度] 索引標籤會依執行順序列出數據流元件,並包含套件每個階段的進度相關資訊,並以百分比顯示完成進度,以及寫入至目的地的行數。
如需這些功能的詳細資訊,請參閱 偵錯數據流。
疑難解答腳本
Microsoft Visual Studio Tools for Applications (VSTA) 是您撰寫腳本工作和腳本元件所使用的腳本的開發環境。 VSTA 提供下列功能和工具,可讓您在套件開發期間用來針對腳本進行疑難解答:
在腳本任務中設定斷點。 VSTA 僅為「腳本任務」中的腳本提供偵錯支援。 您在腳本工作中設定的斷點會與您在封裝上設定的斷點和封裝中的工作和容器整合,以順暢地偵錯所有封裝元素。
備註
當您偵錯包含多個腳本任務的封裝時,調試程式只會中斷於一個腳本任務的斷點,並忽略其他腳本任務中的斷點。 如果 Script 任務是 Foreach 迴圈或 For 迴圈容器的一部分,偵錯工具會在迴圈的第一次迭代之後忽略 Script 任務中的斷點。
如需詳細資訊,請參閱 偵錯腳本。 如需如何偵錯腳本元件的建議,請參閱 [編寫程式代碼和偵錯腳本元件](.。/extending-packages-scripting/data-flow-script-component/coding-and-debug-the-script-component.md。
針對沒有描述的錯誤進行疑難解答
如果您在套件開發期間遇到 Integration Services 錯誤號碼,但沒有隨附的描述,您可以在 Integration Services 錯誤和訊息參考中找到描述。 此清單目前不包含疑難解答資訊。