2012-12-17 75 views
2

我們正在使用Windows任務計劃程序調度SSIS包。計劃任務每​​隔一小時將創建一個包的新實例並開始執行。我們需要確保先前的實例在下次執行開始之前終止。在特定的時間間隔之後,是否有可能從包自帶包中終止包執行?在特定時間間隔後終止SSIS包

+0

如果將其作爲SQL代理作業運行,可能會有一種方法。不知道是否可以使用Windows任務計劃程序。 – Raj

+2

爲什麼不使用SQL代理來運行你的包作爲一個工作?這將被自動處理。 –

+0

感謝您的建議。我們的運營團隊發現SQL代理更難以管理和從服務器遷移到服務器。我們也無法將TFS中的SQL代理作業作爲模式維護,因此更難以檢測和管理更改。 – Gaurav

回答

1

在Windows任務計劃程序中,如果轉至任務的「設置」(Settings)選項卡,則會出現一個複選框,其中包含「如果任務運行時間超過:停止任務」選項。

將其設置爲所需的時間間隔,並且任務計劃程序將在指定的時間過後停止進程。

Example of the setting in the Task Scheduler

+0

感謝您的建議。 SSIS包是否能夠攔截此進程終止事件並執行任何清理任務?我需要確保數據的完整性以及封裝終止的情況。 – Gaurav

+0

老實說,我不知道:-)我認爲*它會殺死DTExec,它會阻止你的軟件包,但我不是100%。我傾向於自己使用SQL Server Agent,將所有包存儲在SSIS目錄(2012)中。我可以建議的最好的事情就是在分期環境中給它一下,看看它的表現如何。另一種方法,就像上面提到的那樣,是調查遷移到SQL Agent。 – GShenanigan

+0

感謝您的建議。我們的運營團隊發現SQL代理更難以管理和從服務器遷移到服務器。我們也無法將TFS中的SQL代理作業作爲模式維護,因此更難以檢測和管理更改 – Gaurav