0

我有一个相当复杂的 ETL,有两个连接管理器:

  • 输入数据库
  • 输出数据库

InputDatabase 是只读的,IsolationLevel=ReadUncommited在 ETL 上。我目前正在TransactionOption=Required我的容器上使用以启用故障回滚。

有没有办法只在 OutputDatabase 上使用事务,因为它们在 InputDatabase 上不是必需的?虽然当前的实现有效,但它需要在不需要它的服务器上设置分布式事务协调器,同时打开防火墙和端口。

4

1 回答 1

3

这似乎超出了TransactionOption支持的意图。

要在单个数据源上使用事务:

  1. 将数据源设置为RetainSameConnection=True
  2. 将执行 SQL 任务添加到BEGIN TRANSACTIONCOMMIT TRANSACTIONROLLBACK TRANSACTION

有关更多信息,请参阅以下答案: SSIS 中的 TransactionOption

于 2013-08-16T12:45:32.727 回答