我从哪里开始了解SQL Server警报或者通知?

时间:2020-03-05 18:41:59  来源:igfitidea点击:

最近,SQL Server代理作业出现了问题,该作业包含一个SSIS包以提取生产数据并将其汇总到一个单独的报告数据库中。

我认为我尝试使用的某些"警报/通知"设置导致了该问题,因为该工作在前两周一直无人值守地完成。

所以...在哪里开始阅读SQL Agent警报和通知的好地方?
我想启用某种警报/通知,以便始终得到通知:

  • 作业是否成功完成(作为检查以确保始终执行),或者
  • 作业遇到某种错误,其中应包含足够的信息(例如错误编号),我可以诊断出错误原因

一如既往,任何帮助将不胜感激!

解决方案

回答

我们需要在作业属性的通知页面上标记"作业完成时"。

只需转到该下拉列表,然后将其切换为作业完成即可,而不是失败(在屏幕截图中)。

我们还需要确保服务器已配置了电子邮件。我认为该功能位于" SQL外围应用配置功能"下。

回答

在作业的每个步骤中,单击"高级",然后从那里可以登录到文件或者表,其中将包含所有错误代码以及其他导致作业失败的原因
我们也应该能够从工作历史中看到这一点。
右键单击作业->查看历史记录,单击+号以展开,单击每个步骤,它将在下部面板中

要设置通知,我们需要设置一个操作员,然后在通知选项卡上的工作中,从电子邮件下拉列表中选择它。

回答

联机丛书可能是一个不错的起点(或者至少我喜欢它,并且通常认为它很有用)。

SQLMenace和bofe提出了一些优点。这是我的另外两分钱:

我建议配置数据库邮件而不是SQL邮件(即SMTP与MAPI,我认为无论如何都已弃用)。配置好邮件配置文件后,还必须配置SQL代理以使用该邮件配置文件(这只是代理属性设置的页面),否则SSIS作业通知实际上不会发送,即使我们可以从Management Studio成功发送测试电子邮件。

我不会像工作通知那样频繁地使用警报,因此,我能记住的唯一棘手的事情是,如果我们遇到错误,并且希望警报在发生这种情况时通过电子邮件发送给我们,则必须确保引发的错误将写入日志。我认为这可以归结为" RAISERROR ... WITH LOG";这是语法详细信息的BOL链接。