• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 3138
  • Last Modified:

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
1 Solution
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).
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.

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now