重要
Azure SQL 托管实例,目前大多数但并非所有 SQL Server 代理功能都受支持。 有关详细信息,请参阅 Azure SQL 托管实例 T-SQL 与 SQL Server 的差异。
本主题介绍如何使用 SQL Server Management Studio 或 Transact-SQL 来定义 Microsoft SQL Server 在 SQL Server 中如何响应 SQL Server Agent 的警报。
开始之前
限制和约束
Microsoft SQL Server 的未来版本中,将从 SQL Server 代理中删除 Pager 和 net send 选项。 避免在新开发工作中使用这些功能,并计划修改当前使用这些功能的应用程序。
请注意,SQL Server 代理必须配置为使用数据库邮件向作员发送电子邮件和寻呼通知。 有关详细信息,请参阅 将警报分配给操作员。
SQL Server Management Studio 提供了一种简单、图形化的方式来管理作业,并推荐用于创建和管理作业基础结构的方法。
安全
权限
只有 sysadmin 固定服务器角色的成员才能定义对警报的响应。
使用 SQL Server Management Studio
定义对警报的响应
在 对象资源管理器中,单击加号以展开包含要为其定义响应的警报的服务器。
单击加号展开 SQL Server 代理。
单击加号以展开 警报 文件夹。
右键单击要为其定义响应的警报,然后选择 属性。
在 alert_name警报属性 对话框中,在 选择页面下,选择 响应。
选中 执行作业 复选框,然后从“执行作业”复选框下面的列表中,选择要在警报发生时执行的作业。 可以通过单击 “新建作业”来创建新作业。 可以通过单击 查看作业来查看作业的详细信息。 有关 新建作业 和 作业属性job_name 对话框中的可用选项的详细信息,请参阅 创建作业 和 查看作业。
如果要在激活警报时通知操作员,请选中 通知操作员 复选框。 在 操作员列表中,选择以下一种或多种方法来通知操作员或操作员们:电子邮件、寻呼机或 网络发送。 可以通过单击 新运算符创建新运算符。 可以通过单击 查看运算符来查看有关操作员的详细信息。 有关 New Operator 和 查看运算符属性 对话框中的可用选项的详细信息,请参阅 创建运算符 和 查看有关运算符的信息。
完成后,单击“确定”。
使用 Transact-SQL
定义对警报的响应
在 对象资源管理器中,连接到数据库引擎的实例。
在标准栏上,单击“新建查询”。
将以下示例复制并粘贴到查询窗口中,然后单击 执行。
-- adds an e-mail notification for Test Alert. -- assumes that Test Alert already exists and that -- François Ajenstat is a valid operator name USE msdb ; GO EXEC dbo.sp_add_notification @alert_name = N'Test Alert', @operator_name = N'François Ajenstat', @notification_method = 1 ; GO
有关详细信息,请参阅 sp_add_notification(Transact-SQL)。