2014-10-22 125 views
0

後失敗我有一個SSIS包,它在一臺機器更新一個表,然後需要將數據複製到另一臺計算機(服務器)。SSIS包序列容器執行SQL任務

由於超時失敗,程序包經常失敗,所以我們想出了一個選項,首先將它加載到臨時表中,然後從temp加載到main ...以便主表數據不會會受到影響公正的情況下連接失敗...

現在我們要重新開始包,以防萬一它fails..and我們一直在使用檢查點..和重試選項,同時調度工作。

這項工作很好,但它有一個問題..臨時表有一些數據,以防萬一它失敗...現在我想要包使用執行SQL任務回滾數據,然後再次從它運行它是失敗點。

我如何直接執行SQL任務以失敗狀態它succeds之後(在執行回滾)...,並確保包裝在容器中的塊,其中失敗開始。

附加的流動路徑... enter image description here

+0

這聽起來像你需要在執行SQL任務在try..catch。然後在CATCH塊中使用回滾tran和RAISERROR。那有意義嗎?請記住,當程序包結束執行時,臨時表數據將會丟失。 – 2014-10-22 12:17:56

+0

檢查站不是你的朋友。您需要將該邏輯放入您的包中。 – billinkc 2014-10-22 15:00:20

回答

0

轉到附加表中存儲元數據,對每個任務的任務刪除查詢。 通過這種方式,您只需要在執行任務之前在元數據中運行查詢。遵循這種方式,您還可以維護日誌以及定義自動重試。