sp_add_operator (Transact-SQL)
创建用于警报和作业的操作员(通知收件人)。
语法
sp_add_operator [ @name = ] 'name'
[ , [ @enabled = ] enabled ]
[ , [ @email_address = ] 'email_address' ]
[ , [ @pager_address = ] 'pager_address' ]
[ , [ @weekday_pager_start_time = ] weekday_pager_start_time ]
[ , [ @weekday_pager_end_time = ] weekday_pager_end_time ]
[ , [ @saturday_pager_start_time = ] saturday_pager_start_time ]
[ , [ @saturday_pager_end_time = ] saturday_pager_end_time ]
[ , [ @sunday_pager_start_time = ] sunday_pager_start_time ]
[ , [ @sunday_pager_end_time = ] sunday_pager_end_time ]
[ , [ @pager_days = ] pager_days ]
[ , [ @netsend_address = ] 'netsend_address' ]
[ , [ @category_name = ] 'category' ]
参数
[ @name= ] 'name'
操作员(通知收件人)的名称。该名称必须唯一,且不能含有百分比 (%) 字符。name 的数据类型为 sysname,无默认值。[ @enabled= ] enabled
表示操作员的当前状态。enabled 的数据类型为 tinyint,默认值为 1(已启用)。如果为 0,则未启用操作员,并且不能接收通知。[ @email_address= ] 'email_address'
操作员的电子邮件地址。此字符串将直接传递到电子邮件系统。email_address 的数据类型为 nvarchar(100),默认值为 NULL。您可以为 email_address 指定物理电子邮件地址或别名。例如:
'jdoe' or 'jdoe@xyz.com'
注意 仅可以对 SQL Mail 使用电子邮件别名。必须对数据库邮件使用电子邮件地址。
[ @pager_address= ] 'pager_address'
操作员的寻呼地址。此字符串将直接传递到电子邮件系统。pager_address 的数据类型为 narchar(100),默认值为 NULL。[ @weekday_pager_start_time= ] weekday_pager_start_time
工作日(星期一到星期五)中的时间,在到达此时间后,SQL Server 代理将把寻呼通知发送给指定的操作员。weekday_pager_start_time的数据类型为 int,默认值为 090000,表示 24 小时时间格式中的上午 9:00,且必须使用 HHMMSS 的格式输入。[ @weekday_pager_end_time= ] weekday_pager_end_time
SQLServerAgent 服务在工作日(星期一到星期五)将寻呼通知发送给指定操作员的结束时间。weekday_pager_end_time 的数据类型为 int,默认值为 180000,表示 24 小时制的下午 6:00,且必须使用 HHMMSS 的格式输入。[ @saturday_pager_start_time =] saturday_pager_start_time
SQLServerAgent 服务在星期六将寻呼通知发送给指定操作员的开始时间。saturday_pager_start_time 的数据类型为 int,默认值为 090000,表示 24 小时制的上午 9:00,且必须使用 HHMMSS 的格式输入。[ @saturday_pager_end_time= ] saturday_pager_end_time
SQLServerAgent 服务在星期六将寻呼通知发送给指定操作员的结束时间。saturday_pager_end_time 的数据类型为 int,默认值为 180000,表示 24 小时制的下午 6:00,且必须使用 HHMMSS 的格式输入。[ @sunday_pager_start_time= ] sunday_pager_start_time
SQLServerAgent 服务在星期日将寻呼通知发送给指定操作员的开始时间。sunday_pager_start_time 的数据类型为 int,默认值为 090000,表示 24 小时制的上午 9:00,且必须使用 HHMMSS 的格式输入。[ @sunday_pager_end_time =] sunday_pager_end_time
SQLServerAgent 服务在星期日将寻呼通知发送给指定操作员的结束时间。sunday_pager_end_time 的数据类型为 int,默认值为 180000,表示 24 小时制的下午 6:00,且必须使用 HHMMSS 的格式输入。[ @pager_days= ] pager_days
表示操作员可以接收寻呼的天数(受限于指定的开始/结束时间)。pager_days 的数据类型为 tinyint,默认值为 0,表示操作员无法接收寻呼。有效值介于 0 和 127 之间。将所需日期的对应值相加即可计算出 pager_days 的值。例如,从星期一到星期五是 2+4+8+16+32 = 62。下表列出了一周中每天的值。值
说明
1
星期日
2
星期一
4
星期二
8
星期三
16
星期四
32
星期五
64
星期六
[ @netsend_address= ] 'netsend_address'
要向其发送网络消息的操作员的网络地址。netsend_address 的数据类型为 nvarchar(100),默认值为 NULL。[ @category_name= ] 'category'
此操作员的类别名称。category 的数据类型为 sysname,默认值为 NULL。
返回代码值
0(成功)或 1(失败)
结果集
无
注释
必须从 msdb 数据库运行 sp_add_operator。
电子邮件系统支持寻呼,如果想使用寻呼,则该系统必须有将电子邮件发送到寻呼程序的功能。
SQL Server Management Studio 为管理作业提供了一种图形化的简便方法,建议使用此方法来创建和管理作业基础结构。
权限
只有 sysadmin 固定服务器角色的成员才可以执行 sp_add_operator。
示例
下面的示例设置 danwi 的操作员信息。操作员已被启用。SQL Server 代理通过寻呼在星期一到星期五的上午 8 点至下午 5 点发送通知。
USE msdb ;
GO
EXEC dbo.sp_add_operator
@name = N'Dan Wilson',
@enabled = 1,
@email_address = N'danwi',
@pager_address = N'5551290AW@pager.Adventure-Works.com',
@weekday_pager_start_time = 080000,
@weekday_pager_end_time = 170000,
@pager_days = 62 ;
GO