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