Question

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.

Was it helpful?

Solution

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top