重要
Azure SQL 托管实例,目前大多数但并非所有 SQL Server 代理功能都受支持。 有关详细信息,请参阅 Azure SQL 托管实例 T-SQL 与 SQL Server 的差异 或 SQL 托管实例中的 SQL 代理作业限制 。
操作员是用于在作业完成或警报触发时接收电子通知的个人或群体的别名。 SQL Server 代理程序服务支持通过操作员通知管理员。 作员启用 SQL Server 代理的通知和监视功能。
运算符属性和概念
运算符的主要属性包括:
操作员名称
联系信息
命名运算符
每个运算符都必须有一个名称。 运算符名称在 SQL Server 实例中必须是唯一的,并且不能超过 128 个字符。
联系人信息
操作员的联系信息决定了通知该操作员的方式。 操作员可以通过电子邮件、寻呼程序或通过 net send 命令收到通知。
重要
Microsoft SQL Server 的未来版本中,将从 SQL Server 代理中删除 Pager 和 net send 选项。 避免在新开发工作中使用这些功能,并计划修改当前使用这些功能的应用程序。
电子邮件通知
电子邮件通知会向操作员发送一封电子邮件。 对于电子邮件通知,请提供操作员的电子邮件地址。
寻呼机通知
呼叫是通过电子邮件实现的。 对于寻呼通知,您需要提供操作员接收寻呼信息的电子邮件地址。 若要设置寻呼通知,必须在处理入站邮件并将其转换为寻呼邮件的邮件服务器上安装软件。 该软件可以采用多种方法之一,包括:
将邮件转发到寻呼程序提供商站点上的远程邮件服务器。
寻呼程序提供商必须提供此服务,尽管所需的软件通常作为本地邮件系统的一部分可用。 有关详细信息,请参阅传呼机手册。
通过 Internet 将电子邮件路由到寻呼提供商站点上的电子邮件服务器。
这是第一种方法的变体。
使用附带的调制解调器处理入站电子邮件,并拨打寻呼机。
此软件是寻呼服务提供商的专有软件。 该软件充当电子邮件客户端,通过将电子邮件地址信息的全部或部分解释为寻呼号码,或将电子邮件名称与翻译表中的寻呼号码匹配来定期处理收件箱。
如果所有操作员共享同一个寻呼机服务提供商,则可以使用 SQL Server Management Studio 指定寻呼到电子邮件系统所需的任何特殊电子邮件格式。 特殊格式可以是前缀或后缀,并且可以包含在电子邮件的以下行中:
主题:
抄送:
到:
注意
如果您使用容量小的字母数字寻呼系统,可以通过从寻呼通知中排除错误文本来缩短发送的消息。 低容量字母数字分页系统的一个例子是那种每页限制为 64 个字符的系统。
网络发送通知
这会通过 net send 命令向操作员发送消息。 对于 网络发送,请指定网络邮件的收件人(计算机或用户)。
注意
net send 命令使用 Microsoft Windows Messenger。 若要成功发送警报,此服务必须在运行 SQL Server 的计算机和作员使用的计算机上运行。
警报和防故障操作员
可以选择在发生警报时要通知的操作员。 例如,可以通过计划警报来指定操作员轮流接收通知, 例如,单个 A 会通知周一、星期三或星期五发生的警报,而单个 B 将通知周二、星期四或星期六发生的警报。
故障保险操作员在向指定操作员发出所有寻呼通知后仍未成功时收到警报通知。 例如,如果定义了三个接收寻呼通知的操作员,但无法呼叫到任一指定操作员,则将通知防故障操作员。
故障保护操作员在以下情况时收到通知:
无法呼叫负责警报的操作员。
无法到达主要操作员的原因包括寻呼地址错误和操作员不在岗位。
SQL Server 代理无法访问 msdb 数据库中的系统表。
sysnotifications 系统表可指定负责警报的操作员。
防故障操作员是一种安全性能。 如果不将故障安全责任重新分配给另一个作员,或者完全删除故障安全分配,则无法删除分配给故障安全职责的作员。
通知操作员
您必须设置以下选项中的一个或多个以便通知操作员。
若要使用数据库邮件功能发送电子邮件,必须有权访问支持 SMTP 的电子邮件服务器。
对于寻呼,必须具有第三方的寻呼到电子邮件软件和/或硬件。
若要使用 net send,操作员必须已登录到指定的计算机,并且指定的计算机必须允许接收来自 Windows Messenger 的消息。
相关任务
| 任务 | 主题 |
|---|---|
| 与创建操作员相关的任务 |
创建操作员 指定故障安全操作员 |
| 与分配警报相关的任务 |
向操作员分配警报 定义对警报的响应(SQL Server Management Studio) sp_add_notification (Transact-SQL) 向操作员分配警报 |