没有Msdtc的ssis交易

时间:2016-06-07 12:07:56

标签: sql-server ssis transactions ssis-2012 ssis-2008

其中一个软件包将实现使用 SQL Server Integration Services没有MSDTC的SSIS事务。

执行SQL任务在数据流(Df_insert)之前放置了开始事务。在第一个数据流(Df_Insert)之后有几个更新步骤和索引创建步骤。有一个更新脚本,它是另一个序列容器,并且,需要成为此交易的一部分。

有没有办法只包含Df_insert和更新脚本 在交易中。

控制流程如下所示

enter image description here

1 个答案:

答案 0 :(得分:1)

从SQL事务的角度来看,BEGIN TRAN和COMMIT之间的所有DML语句(即插入 - 更新 - 删除)都是此事务的一部分,而不是可推导的。您的任务 - 仅提交DFTupdate script - 表示updateupdate2deleteupdate script中使用的临时数据,稍后会被丢弃上。
方法 - 重新设计您的逻辑,将updateupdate2和可能delete结果的结果移动到TEMP表中,然后再使用它。定期#temp_table会没问题,因为你必须使用 RetainSameConnection = true 进行没有MSDTC的交易。