作业未触发时发出警报

Obs*_*nix 4 sql-server sql-server-2008-r2 jobs alerts

我的服务器上有一个 Sql 作业,它每晚从远程服务器触发(一旦它完成了备份)。

我已成功配置作业以在失败时通知我,但我想设置警报以在作业触发时通知我。即当远程服务器无法触发我的工作时。

这可能吗?我查看了设置,所有警报等都与作业失败/成功时有关。

我可以将作业设置为在完成时发出警报(无论状态如何),我一开始就是这样做的(我一开始就是这样做的),但我宁愿不收到连续的电子邮件(毕竟,我可能只是开始忽略它们)。

Obs*_*nix 7

我设法找到了一种解决方案,尽管它不像我希望的那样整洁。我创建了第二个作业,用于检查目标作业的上次运行日期。这计划每天运行,在目标作业运行后几个小时。

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)