我有一个相当复杂的 ETL,有两个连接管理器:
- 输入数据库
- 输出数据库
InputDatabase 是只读的,IsolationLevel=ReadUncommited
在 ETL 上。我目前正在TransactionOption=Required
我的容器上使用以启用故障回滚。
有没有办法只在 OutputDatabase 上使用事务,因为它们在 InputDatabase 上不是必需的?虽然当前的实现有效,但它需要在不需要它的服务器上设置分布式事务协调器,同时打开防火墙和端口。
我有一个相当复杂的 ETL,有两个连接管理器:
InputDatabase 是只读的,IsolationLevel=ReadUncommited
在 ETL 上。我目前正在TransactionOption=Required
我的容器上使用以启用故障回滚。
有没有办法只在 OutputDatabase 上使用事务,因为它们在 InputDatabase 上不是必需的?虽然当前的实现有效,但它需要在不需要它的服务器上设置分布式事务协调器,同时打开防火墙和端口。
这似乎超出了TransactionOption
支持的意图。
要在单个数据源上使用事务:
RetainSameConnection=True
BEGIN TRANSACTION
、COMMIT TRANSACTION
和ROLLBACK TRANSACTION
有关更多信息,请参阅以下答案: SSIS 中的 TransactionOption