SSIS 事务:如果不存在,支持的选项是否会创建一个新事务?

SSIS Transactions: Does Supported option create a new transaction if it does not exist?

Required 开始新事务,而 Supported 加入现有事务。

但是,如果交易尚不存在,那么 Supported 选项会创建一个新交易吗?

This MSDN link suggests that it does not; where as this Microsoft training video 36:36 说是。

msdn文档和video一致

  • 需要进行交易
  • 支持在可用事务中登记
  • NotSupported 忽略任何可用的事务

在第 36 分钟处,视频正在讨论 SSIS Checkpoints,这更像是包裹的书签。他们记录了 运行 的最后执行步骤。对于除了最微不足道的包之外的任何东西,我建议不要使用 SSIS 检查点,因为它们不稳定、不可靠且脾气暴躁。

相反,设计您的包时要考虑到可重启性。任务 X 失败 - 如果它重新启动,您的包将如何处理它?它可以清理任何 hanging/incomplete 工作吗?它可以识别工作已经完成并跳过 it/perform no work?

评论表示

The slide at 36:36 reads as: "Supported joins an existing transaction or starts a new one". So is this correct or not?

幻灯片不正确。如果您不相信编写文档的人,请阅读有关该主题的整个互联网,您会发现每个人都在说同样的话。要么这个 youtuber 是个学者,要么他们错了。您可以通过启动分布式事务协调器 DTC 来评估我和其他人的回答的真实性,并在 Supported 和 Required transaction levels 下查看包 运行s。您将能够观察到 DTC 在 Supported/NotSupported

中的 Required 和 none 下有工作要做