2008-09-02 52 views
3

這是我的場景 - 我有一個SSIS作業,它依賴於另一個以前的SSIS作業運行。在我啓動第二個工作之前,我需要能夠檢查第一個工作的狀態。將第二份工作添加到第一份工作流中是不可行的,因爲它已經太複雜了。我希望能夠從第二個作業中檢查第一個作業的狀態(失敗,成功,當前正在執行),並將其用作決定第二個作業是應該運行還是等待重試的條件。我知道這可以通過查詢運行作業的SQL Server上的MSDB數據庫來完成。我想知道有一種更簡單的方法,比如可能使用WMI數據讀取器任務?任何人都有這種經歷?如何從SSIS控制流程檢查作業狀態?

回答

4

您可能想要創建第三個包,運行packageA然後packageB。第三個包只包含兩個執行包任務。

http://msdn.microsoft.com/en-us/library/ms137609.aspx

@Craig 一個狀態表,是一種選擇,但你必須隨時監控它。

這是關於SSIS中的事件的原始文章,您原來的問題。
http://www.databasejournal.com/features/mssql/article.php/3558006

+0

感謝您的鏈接。我想我最好的選擇是把工作抽象成控制他們的主要工作。 – 2008-09-03 03:07:32

0

爲什麼不使用表?只需要第一份工作就會更新表格的狀態。第二項工作可以使用該表來檢查狀態。如果我正確地閱讀這個問題,那應該會有訣竅。該表將(應該)只有一行,所以它不會造成性能死亡,也不應該造成任何死鎖(當然,現在我寫它,它會發生):)

@Jason:是的,你可以監控它,也可以在收到結束狀態時觸發器開始第二項工作。 :)