如何将事件处理程序中的执行SQL任务保留在父事务之外?

时间:2013-02-06 17:14:22

标签: sql sql-server-2008 ssis

我在SSIS中使用SQL事务,我有一个 Execute SQL Task 来启动,提交和回滚我的事务。所有交易任务都在 Sequence Container 中。我在包级别事件中执行错误处理并将错误记录到单独的数据库。我遇到的问题是当任何组件失败时它跳转到事件处理程序但是当事务回滚时,它也会回滚错误记录。

错误记录发生在事件处理程序

内的 Execute SQL Task

是否可以在我的 Execute SQL Task 上明确指出它不是交易的一部分。

1 个答案:

答案 0 :(得分:1)

建议您使用SSIS事务处理。在Sequence Container上将TransactionOption设置为Required,在子任务上设置为Supported。在On Error事件处理程序上将TransactionOption设置为NotSupported,以使其在Seq​​uence Container的事务之外起作用。

希望这有帮助, 彼得