sql server 2008-如何将事件处理程序中的执行sql任务保留在父事务之外



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

错误日志记录发生在Execute SQL Task事件处理程序内

是否可以在我的Execute SQL Task上明确指定它不是事务的一部分。

建议您使用SSIS事务处理。在序列容器上将TransactionOption设置为Required,在子任务上将其设置为Supported。在on Error事件处理程序上将TransactionOption设置为NotSupported,以便它在Sequence Container的事务之外执行操作。

希望这能有所帮助,Peter

最新更新