SQL 代理作业运行时警报

SQL Agent Job runtime alert

我希望我能得到一些帮助,了解如何为特定代理作业设置电子邮件警报,以便在 运行 持续时间超过 30 分钟时发送电子邮件警报。

在作业本身中添加此步骤会更容易吗? SQL 代理 GUI 中是否有任何可用的方法,或者我是否必须创建一个新作业?我认为创建新工作的可能性较小,因为我必须在 msdb 中查询 sysjobhistory;该值仅在作业完成后更新,因此无济于事...我需要它来检查 1 个特定代理作业的实时持续时间,因为它是 运行ning... 特别是因为碰巧作业 运行 陷入了僵局(现在这不再是问题),所以作业只是停留在 table 它被锁定,我只从报告没有 return 结果的最终用户 :S

第 3 方监控软件之外的最佳方法是创建一个高频 SQL 代理作业,在蜘蛛。这样,只要 spid 超过阈值,您就可以让此监视作业通过电子邮件发送给您。或者,您可以让它比较当前运行时间与从 sys.jobhistory table.

收集的计算平均运行时间