2012-11-29 40 views

回答

22

通过使用序列容器(顺序,循环,foreach循环)在SSIS中,你可以使用一个属性叫做的TransactionOption。这允许您指定包中任务的事务行为,并且如果任何任务失败,则会自动回滚该包。例如,如果您将任务放在序列容器中并设置TransactionOption=Required,并将容器中的所有任务配置为TransactionOption=Supported,则它们将全部加入在序列容器中启动的事务,并且如果有任何失败,交易将会被回滚。

您可以阅读TransactionOption属性here的说明和/或按照walkthrough here了解如何实现此操作。

编辑:另一个好walkthrough (with screenshots) here

+0

性能如何? – Dinesh

+0

完全取决于交易的大小以及记录的方式。如果您正在进行一项需要数小时才能完成的大规模交易,那么您可能仍然需要长时间回滚。 – GShenanigan

+0

这对我非常有帮助非常感谢你。 – Dinesh