|
|
|
SSC-Enthusiastic
      
Group: General Forum Members
Last Login: Tuesday, May 14, 2013 12:29 PM
Points: 182,
Visits: 952
|
|
|
|
|
|
UDP Broadcaster
      
Group: General Forum Members
Last Login: Wednesday, January 02, 2013 12:15 PM
Points: 1,443,
Visits: 711
|
|
| Pretty good article and code... Well done!
|
|
|
|
|
SSCarpal Tunnel
       
Group: General Forum Members
Last Login: Wednesday, May 22, 2013 1:35 AM
Points: 4,789,
Visits: 1,336
|
|
Excellent article. Thanks for the resources provided in the end. :)
|
|
|
|
|
Grasshopper
      
Group: General Forum Members
Last Login: 2 days ago @ 1:34 PM
Points: 17,
Visits: 178
|
|
| The zip files seems to be unavailable.
|
|
|
|
|
Ten Centuries
      
Group: General Forum Members
Last Login: Tuesday, April 02, 2013 1:48 AM
Points: 1,252,
Visits: 3,367
|
|
|
|
|
|
SSC-Enthusiastic
      
Group: General Forum Members
Last Login: Tuesday, May 14, 2013 12:29 PM
Points: 182,
Visits: 952
|
|
Download the zip package under the Resources heading.
The one under Additional Resources does not work. Sorry
David Bird
My PC Quick Reference Guide
|
|
|
|
|
Forum Newbie
      
Group: General Forum Members
Last Login: Thursday, May 02, 2013 3:43 PM
Points: 5,
Visits: 121
|
|
| I was wondering what do you suggest for monitoring SQL job that are hanging or running non stop?
|
|
|
|
|
SSC-Enthusiastic
      
Group: General Forum Members
Last Login: Tuesday, May 14, 2013 12:29 PM
Points: 182,
Visits: 952
|
|
That problem has bitten me more a than a few times. I have yet to develop an approach to handle all jobs. For database backups, missing a backup could be caused by the job hanging. You would be notified of missing backups using the reports in this article.
For a specific job, I have used the following SQL in a job on the job's instance to check if the job has finished within the last day.
IF NOT EXISTS (select 1
from msdb.dbo.sysjobhistory jh inner join msdb.dbo.sysjobs j on j.job_id = jh.job_id where DATEADD (ss, (jh.run_duration/10000 * 3600) + (jh.run_duration/100 %100 * 60) + jh.run_duration %100, + CAST(CAST(jh.run_date AS char(8)) + ' ' + -- Convert run_date to DateTime data type STUFF(STUFF( -- Insert : into Time RIGHT('000000' + -- Add leading Zeros CAST(jh.run_time AS varchar(6)) ,6) , 3, 0, ':'), 6, 0, ':') AS datetime) ) > dateadd (dd,-1,getdate())
and j.name = 'DBA-Job that sometimes Hangs' and jh.step_id = 0 ) BEGIN EXEC msdb.dbo.sp_send_dbmail @profile_name = 'Default', @recipients = 'me@company.com', @subject = '*** ALERT - Archive SPT Logs Not Finished ****', @body = 'Check SERVER and see why the job DBA-Job has not finished' ;
END
To monitor all jobs for this type of problem is a goal of mine that I have yet to tackle.
David Bird
My PC Quick Reference Guide
|
|
|
|
|
Forum Newbie
      
Group: General Forum Members
Last Login: Tuesday, April 09, 2013 8:56 PM
Points: 7,
Visits: 102
|
|
great article! But, I think some other points might need to be monitor, for example, cpu usage, disk io, etc..; system event log, cluster log, etc..; DB file growth, table space growth, etc..; duration growthof jobs, index usage, health of data buffer, etc..
In addition, we can cycle errlog when finding errlog size is too big, we can use logparser to filter the errorlog that is old history date before two days, to increase the ERRORLOG reading performance.
|
|
|
|
|
SSC-Enthusiastic
      
Group: General Forum Members
Last Login: Tuesday, May 14, 2013 12:29 PM
Points: 182,
Visits: 952
|
|
Wyfccc thanks for some great ideas.
I will looking into the Log Parser tool but if its executable needs to be on each server. It may not be worth using on all servers.
David Bird
My PC Quick Reference Guide
|
|
|
|