继承的事务

包可以使用执行包任务运行另一个包。子包也就是执行包任务所运行的包,它可以创建自己的包事务,也可以继承父包事务。

如果同时满足下面这两个条件,则子包可继承父包的事务:

  • 该子包由父包中执行包任务调用。

  • 调用该子包的执行包任务同时还联接父包的事务。

子包中的容器和任务无法联接从父包继承的事务,除非子包本身联接该事务。

在下面的关系图中,三个包都使用事务。每个包包含多项任务。为了强调事务的行为,只显示了执行包任务。包 A 运行包 B 和包 C。而包 B 运行包 D 和包 E,包 C 运行包 F。

包和任务具有下列事务属性:

  • 对于包 A 和包 C,TransactionOption 属性设置为 Required

  • 对于包 B、D 和 F,以及任务执行包 B、执行包 D 和执行包 F,TransactionOption 属性设置为 Supported

  • 对于包 E 以及任务执行包 C 和执行包 E,TransactionOption 属性设置为 NotSupported

继承的事务流

只有子包 B、D 和 F 可从其父包继承事务,因为这些包将其 TransactionOption 属性设置为 Supported。包 B 和 D 继承包 A 已开始的事务,而包 F 继承包 C 已开始的事务。

包 A 和 C 控制其自己的事务,因为这些包将其 TransactionOption 属性设置为 Required。此外,包 C 不继承包 A 开始的事务,因为执行包 C 任务的 TransactionOption 属性设置为 NotSupported。

包 E 不使用事务。

Integration Services 图标(小) 使 Integration Services 保持最新

若要从 Microsoft 获得最新的下载内容、文章、示例和视频,以及从社区获得所选解决方案,请访问 MSDN 或 TechNet 上的 Integration Services 页:

若要获得有关这些更新的自动通知,请订阅该页上提供的 RSS 源。