Quantcast
Channel: SQL Server Integration Services forum
Viewing all articles
Browse latest Browse all 24688

Transactions and errors management

$
0
0

I have two different problems, both related to transactions. Although the use-cases are basic, I can't find simple solutions.

Before somebody suggests using RetainSameConnection = true and manual BEGIN TRAN / COMMIT / ROLLBACK, this is NOT a solution because my data flow requires multiple connections and SSIS will NOT satisfy my RetainSameConnection demand.

[1] Is it possible to exclude a read-only connection manager from transactions?
I ask because I have a connection manager that cannot enlist into DTC -- and doesn't need to. But it makes make package fail.
Current solution is to use two data flows, one for reading (no tx), one for writing (inside a tx) and pass the data around into a raw file. This is ugly and inefficient.

[2] Inside my transactional flow, I would like to log error rows into a special table for further error analysis. This seems a basic requirement to me but it turns out to be hard to do. The DTC seem to be all-or-nothing, so if I redirect error rows to a DB destination, they are enlisted into the transaction and rolled back after the failure of the data flow.
Possible solutions could be: use another connection manager outside the DTC if possible (same as [1], seems impossible); or exclude a destination task from the DTC (also seems impossible).
Only solution I see: write the errors into a non-transactional destination (i.e. raw file) and save them later after the rollback. Like one [1] this is ugly and inefficient.

What is the recommended/right way of doing this?


Viewing all articles
Browse latest Browse all 24688

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>