使用 MSDTC 服务的 SSIS 事务

SSIS transaction with MSDTC service

所以我一直在努力处理 SSIS 中的事务。我的要求是在不启用 MSDTC 服务的情况下实现事务,我已经部分实现了这一点,但我只是遇到了另一个错误,我觉得这是 SSIS 中的众多错误之一。我使用了 execute SQL 任务并在我的包中明确提到了 begin tran 和 commit/rollback tran。我的包裹工作正常。所有 table 都包含在一个序列容器中。我有一种情况,一个 table 的一个输出进入 2 个不同的 tables,这就是问题所在。有趣的是,即使包失败了,我仍然会看到仅在这两个 table 中插入。 SSIS 显示在附图中。我禁用了两个 table。这两个 tables 从 Frholdsum 获取输入,即使包失败并且 FDR holdsum tables 中没有数据。微软从未停止让我惊讶:(。enter image description here

将 ConnectionManager 上的 RetainSameConnection 设置为 true。

https://munishbansal.wordpress.com/2009/04/01/how-to-retain-same-data-connection-across-multiple-tasks-in-ssis/

如果我在回滚 运行 之后显式地编写删除语句,它会工作正常,如下所示:

回滚 t运行;从 dbo.UCOP_ENDOW_INVEST 中删除;从 dbo.ucop_fdr_attrib 中删除;

虽然我不应该这样做:(