I have a sql server job that is scheduled to run every 3 hours. Occasionally, the job takes longer than 3 hrs. In that case, the next scheduled run does not occur.
I would like to setup sql server to alert me if this conditions occurs and perhaps log the condition.
There isn't an automatic way to do this. You'll need to put some code into the job step so that if is runs for over 3 hours it alerts you. The easiest way would be to capture the start time and end time do a date diff on it, then send an email, or log an alert to the errorlog.