【问题标题】:Where do I begin to learn about SQL Server alerts or notifications?我从哪里开始了解 SQL Server 警报或通知?
【发布时间】:2010-09-06 13:02:48
【问题描述】:
最近刚开始遇到 SQL Server 代理作业问题,该作业包含一个 SSIS 包,用于提取生产数据并将其汇总到单独的报告数据库中。
我认为我尝试使用的一些警报/通知设置导致了问题,因为在过去的两周里,作业一直在无人看管的情况下运行。
那么...从哪里开始阅读 SQL 代理警报和通知的好地方?
我想启用某种警报/通知,以便我始终得到通知:
- 作业成功完成(作为检查以确保始终执行),或
- 作业遇到某种错误,其中应包含足够的信息(例如错误号),以便我可以诊断错误原因
一如既往,我们将不胜感激任何帮助!
【问题讨论】:
标签:
sql-server
ssis
notifications
alert
etl
【解决方案1】:
Books Online 可能是一个不错的起点(或者至少我喜欢它并且通常觉得它很有用)。
SQLMenace 和 bofe 提出了一些好的观点。这是我的额外两分钱:
我推荐configuring Database Mail 而不是 SQL Mail(即 SMTP 与 MAPI,我认为无论如何都已弃用)。配置好邮件配置文件后,您还必须配置 SQL 代理以使用该邮件配置文件(这只是代理属性的设置页面),否则您的 SSIS 作业通知实际上不会被发送,即使您可以从 Management Studio 成功发送测试电子邮件。
我不像工作通知那样经常使用提醒,所以我记得关于它们的唯一棘手的事情是,如果你提出错误并且希望提醒在发生这种情况时通过电子邮件发送给你,你必须确保将引发的错误写入日志。我认为这归结为“RAISERROR ... WITH LOG”;这是语法详细信息的BOL link。
【解决方案2】:
在作业的每个步骤中单击高级,然后从那里您可以登录到文件或表,这将包含所有错误代码和作业失败的其他原因
您也应该能够从工作历史中看到这一点。
右击job-->查看历史,点击+号展开,点击每一步都会在下方面板中
要设置通知,您需要设置操作员,然后在通知选项卡上的作业中从电子邮件下拉列表中选择它
【解决方案3】:
您需要在作业属性的通知页面中标记“作业完成时”。
只需转到该下拉菜单并将其切换为作业完成而不是失败(在屏幕截图上)。
您还需要确保您的服务器已配置电子邮件。我认为它在 SQL Surface Area Configuration for Features 下。