Meaning of the On Success Workflow Constraint

by Allan Mitchell 3 Oct 2005 14:00

What do you think happens in the following trivial package (The first task is disabled)?

  • Nothing.
  • Error.
  • Everything except for the first task executes.
WhatHappensHere

Let's take a look

Answer

Suprised? Well if like us you are coming from a DTS background then it most likely will shock you. In DTS this package would not have got off first base.

Explanation Follows:

The meaning of the On Success Constraint should not be read as such. It should be read as No Errors Occured. If the task does not execute i.e. if it is disabled then the TaskHost posts a result of No Errors Occurred and the workflow continues.

Important Information

  • A disabled task has no place in production it is a development time thing. If a task is in your package, not currently being developed and is disabled then it should be removed.
  • Disabling a task can be seen as a "Simulation" feature along with things like setting the ForceExecutionResult property of a task.

Comments (4) -

11/10/2008 2:06:58 AM #

Raymond

I have had a customer want large chunks of functionality in a complex package turned off.  I have found disabling a neat way to do that, and have reliable tested code ready to go again if it is required.  

Raymond Australia

11/10/2008 11:51:42 AM #

Allan Mitchell

Raymond

Whilst I do not do it, I believe in the freedom of expression :-).  If it works for you then good going.  I have seen too many packages with too many disabled tasks that are left there ad infinitum or are there for when the package is run manually.

Allan Mitchell

1/22/2009 1:23:20 PM #

Tommy Petersson

We're doing a migration of an old system into a current and the migration is believed to take 4-6 days. So if something goes wrong in the middle, like a power failure, I guess it would be fine to back to the latest known point where data is consistent and restart from there by disabling what's already done. Otherwise we would have to create several different versions of the flow "just-in-case" for each possible restart point, the migration is time-critical.

Tommy Petersson Sweden

1/22/2009 1:50:39 PM #

Allan Mitchell

Tommy

You should look at restarts in SSIS.  You need to build your packages with restarts in mind but restarts are here built in so that you do not have to start a package from scratch should the package fall over half way through.

Allan Mitchell Germany

Add comment

  Country flag

biuquote
  • Comment
  • Preview
Loading

RecentComments

Comment RSS