我有一個SSIS包計劃在SQLAgent的每個X分鐘運行,如果滿足某些條件,它會執行大量的子包。我遇到的問題是,有時候某些子包需要比X分鐘運行更長的時間,這意味着除非所有子包完成,否則其他任何東西都不能運行。同時通過SQLAgent運行一個SSIS包的多個實例
這也意味着在運行期間,運行子包的條件可能已經到來並且即將到來,這意味着即使原始包完成時它們也不會運行。
有沒有辦法允許父包的併發實例運行,即使它以前正在運行?
ParentA計劃每10分鐘運行一次,在10:00啓動並滿足ChildA的標準。 ChildB需要在上午10點20分運行,它不會被滿足,因此它不會運行。 ChildA需要3個小時才能完成。
我需要一個新的ParentA實例在10:10啓動,然後在10:20再啓動。
如何在沒有2+ ParentA的情況下執行此操作,並且必須執行一些奇特的編碼操作,以便多個子包的多個實例不會被啓動?
感謝
如果其中一個子包失敗,這不會導致問題嗎?整個循環不會失敗,然後父包將不得不重新啓動? – user1238918
這似乎與您的原始問題是分開考慮的,但無論如何,如果發生錯誤,您可以配置SSIS包以繼續。您還可以配置啓動ParentA軟件包的作業,以便按照定期計劃運行,例如每10分鐘一班。直到ParentA由於任何原因終止,這將不會有任何效果。 –