ssis transactions - atomic

SSIS package has many tasks. For example, let's say the 7th task had error. Does SSIS package behave atomic, in the sense, that all the update/delete in the first 6 tasks will be rolled back?

thanks
LVL 6
anushahannaAsked:
Who is Participating?
 
lcohanConnect With a Mentor Database AnalystCommented:
Not really but you can change all these from the package configurations where for instance you will run only one step at a time (not default I believe 4 in parralell) and fail the package on task failure. there are many properties that you can change and make sure you put the right workflow/decission making in place. Also I believe you could change the isolation level per task to make it atomic in its own if lets say you need to run multiple SP's in a task.
0
 
anushahannaAuthor Commented:
right now, there is extra configurations for this, and all tasks are linked together. so by default, will they all stay together in an event of failure?
0
 
lcohanConnect With a Mentor Database AnalystCommented:

They will <<stay together in an event of failure>> IF << there is extra configurations for this, and all tasks are linked together >> but I don't think default SSIS configurable ensure ATOMIC package execution. If one task completed that work will be committed in your database and not rolled back if package fails.
Let’s say you have a DTSX running 10 tasks one at a time linked on success and task 3 fails generating DRTSX package failure. Whatever you had in step 1 and 2 is already done and committed in your DB unless EXPLICETELY coded/configured to rollback everything in case of failure.
0
 
Reza RadConnect With a Mentor Consultant, TrainerCommented:
so by default, will they all stay together in an event of failure?
No,

you should set Transaction Option for this,
by default SSIS will fail on every task which caused failure and do not rollback anything.

But you can set TransactionOption as "Required" on the package on a sequence container which has your all atomic tasks inside.also you need to set FailPackageOnFailure on all tasks which is in transaction category.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.