How to HADR your SQL Server Jobs?
You have a couple or more SQL Servers with some sort of High Availability solution between them (Always On Availability Groups, Database Mirroring, etc.).
You also have a bunch of scheduled jobs which you need to be run on the Primary server.
How would you make these jobs run only on the Primary server?
After all, if they try to run on the Secondary, they might fail (whether because the database is inaccessible or because it’s read-only).
Additionally, you would need to consider a failover where the Primary and Secondary servers would switch roles.
This means that you would have to create these jobs on both servers, and then implement some sort of mechanism that would detect, for each job, whether the instance it’s being executed at is currently the Primary.
There are a few ways to go about doing this.
Watch this webinar (Hebrew) , presented by Eitan Blumin to learn about possible solutions, downfalls, tricks, and much more.
You can find the training presentation and scripts here
We also recorded the training. Click on the video below to listen or go to our You Tube channel