Obs*_*nix 4 sql-server sql-server-2008-r2 jobs alerts
我的服务器上有一个 Sql 作业,它每晚从远程服务器触发(一旦它完成了备份)。
我已成功配置作业以在失败时通知我,但我想设置警报以在作业未触发时通知我。即当远程服务器无法触发我的工作时。
这可能吗?我查看了设置,所有警报等都与作业失败/成功时有关。
我可以将作业设置为在完成时发出警报(无论状态如何),我一开始就是这样做的(我一开始就是这样做的),但我宁愿不收到连续的电子邮件(毕竟,我可能只是开始忽略它们)。
我设法找到了一种解决方案,尽管它不像我希望的那样整洁。我创建了第二个作业,用于检查目标作业的上次运行日期。这计划每天运行,在目标作业运行后几个小时。
If not exists
(
SELECT 'x'
FROM msdb.dbo.SysJobServers S
INNER JOIN msdb.dbo.SysJobs J ON S.job_id = J.job_id
WHERE J.name = 'JobName'
AND CONVERT(datetime2, CONVERT(VARCHAR(20), last_run_date)) > GETDATE() -1
)
BEGIN
RAISERROR ('The Job has not been executed today.', 16, 0)
END
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1887 次 |
最近记录: |