سؤال

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