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

how to re-start from package from where it stopped on user selection

我们有一个主 SSIS 包,它调用了几个其他子包和一些任务,我们有 UI 门户构建,以启动主包并检查 package.Whenever 的状态包失败(i.e.because 网络问题或用户可以纠正的其他错误。)在主包或子包中的特定任务中。用户将在 UI 上为该软件包提供两个选项 Start/Resume。如果他选择 Resume,包应该从之前停止的地方开始。如果他选择开始,包应该从头开始。

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

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