0

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

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

4

1 回答 1

0

第三方监控软件之外的最佳方法是创建一个高频 SQL 代理作业,该作业在 spid 期间对活动会话(由 sp_who 返回)运行查询。这样,只要 spid 超过阈值,您就可以让此监控作业向您发送电子邮件。或者,您可以将当前运行时间与从 sys.jobhistory 表中收集的计算平均运行时间进行比较。

于 2015-05-11T20:56:35.510 回答