문제

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