質問

I have a fairly complex ETL with two Connection Managers:

  • InputDatabase
  • OutputDatabase

InputDatabase is read-only, with IsolationLevel=ReadUncommited on the ETL. I'm currently using TransactionOption=Required on my container to enable rollback on failure.

Is there a way to only use transactions on OutputDatabase, since they are not necessary on InputDatabase? While the current implementation works, it requires setting up Distributed Transaction Coordinator on a server that should not need it, along with opening firewalls and ports.

役に立ちましたか?

解決

This seems to be beyond the intent of the TransactionOption support.

To use transactions on a single data source:

  1. Set the data source to RetainSameConnection=True
  2. Add Execute SQL Tasks to BEGIN TRANSACTION, COMMIT TRANSACTION, and ROLLBACK TRANSACTION

See the following answer for more information: TransactionOption in SSIS

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top