Running SQL server agent job steps based on condition

I have a created a sql server job with two steps. I need to run step one based on a condition. If the condition doesn't staisfy run another step. (each step conatins an ssis package to run)

To implement this, I have created another step in the job which runs first with the condition.
 if the condition staisfies -set on success- go to step one. if the condition fails -raiseerror-set on failure- go to step2

Is there any other way to do this other than using onsucess and onfailue? If the condition does not satisfy, I do not want to use raiseerror. It should just execute step 2
MRPTAsked:
Who is Participating?
 
TempDBACommented:
Both ways are good. With your way of job, you can just add the condition in the first step and if it satisfies, run the package with DTSexec else run another with DTSexec. But you need to maintain another tracking table to find out what run if something goes wrong.
Your current way looks more organized to me.
0
 
EvilPostItCommented:
You could do this with a single parent package which executes the child packages using the execute package component. based up these criteria.

The only condition based criteria you have in a SQL Server agent job is success, failure and completion (Regardless of exit code).
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.