如何从用户选择停止的包重新开始

时间:2015-07-16 07:17:01

标签: sql-server ssis ssis-2008 msbi

我们有一个主SSIS包,它调用了很少的其他子包和一些任务,我们有UI门户构建,用于启动主包并检查包的状态。每当包失败时(即由于网络问题)或其他可以由用户纠正的错误。)在主包或子包中的特定任务。用户将在UI上为该包提供两个选项“开始/恢复”。如果他选择Resume,则包应该从之前停止的位置开始。如果他选择Start,那么包应该从头开始。

我想通过在ssis中使用检查点来实现这一点,但我的问题是如果子包失败了会怎样。因此,当用户选择恢复主包时,它应该从子包中正在调用的包中的失败任务开始。有时用户可能想从头开始并选择开始,应该禁用检查点,它应该从头开始。

1 个答案:

答案 0 :(得分:1)

尝试在子包的序列容器中使用事务。还启用检查点。 因此,当发生任何错误时,将为容器回滚事务,并且检查点将允许从用户定义的位置重新执行。反过来,事务将回滚抛出异常的部分。