sp_add_operator (Transact-SQL)
创建用于警报和作业的操作员(通知收件人)。
语法
sp_add_operator
[ @name = ] 'name'
[ , [ @enabled = ] enabled ]
[ , [ @email_address = ] N'email_address' ]
[ , [ @pager_address = ] N'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 = ] N'netsend_address' ]
[ , [ @category_name = ] 'category' ]
[ ; ]
参数
[ @name = ] 'name'
操作员(通知收件人)的名称。 此名称必须是唯一的,并且不能包含) 字符 (%
百分比。 @name 为 sysname,没有默认值。
[ @enabled = ] enabled
指示操作员的当前状态。 @enabled 是 tinyint,默认 1
为启用 () 。 如果 0
为 ,则运算符未启用且不接收通知。
[ @email_address = ] N'email_address'
操作员的电子邮件地址。 此字符串将直接传递到电子邮件系统。 @email_address 为 nvarchar (100) ,默认值为 NULL。
可以为 @email_address指定物理电子邮件地址或别名。 例如:
fatmir.bregu
或 fatmir.bregu@contoso.com
注意
必须对数据库邮件使用电子邮件地址。
[ @pager_address = ] N'pager_address'
操作员的寻呼地址。 此字符串将直接传递到电子邮件系统。 @pager_address 为 nvarchar (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
从星期一到星期五,SQL Server 代理服务不再在工作日向指定操作员发送寻呼通知的时间。 weekday_pager_end_time 为 int,默认值为 180000
,表示 24 小时制的下午 6:00,必须使用表单 HHmmss
输入。
[ @saturday_pager_start_time = ] saturday_pager_start_time
SQL Server 代理服务在星期六向指定操作员发送寻呼通知的时间。 saturday_pager_start_time 为 int,默认值为 090000
,表示 24 小时制的上午 9:00,必须使用表单 HHmmss
输入。
[ @saturday_pager_end_time = ] saturday_pager_end_time
SQL Server 代理服务在星期六不再向指定操作员发送寻呼通知的时间。 @saturday_pager_end_time 为 int,默认值为 180000
,表示 24 小时制的下午 6:00,必须使用表单 HHmmss
输入。
[ @sunday_pager_start_time = ] sunday_pager_start_time
SQL Server 代理服务在星期日向指定操作员发送寻呼通知的时间。 @sunday_pager_start_time 为 int,默认值为 090000
,表示 24 小时制的上午 9:00,必须使用表单 HHmmss
输入。
[ @sunday_pager_end_time = ] sunday_pager_end_time
SQL Server 代理服务在星期日不再向指定操作员发送寻呼通知的时间。 @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 = ] N'netsend_address'
要将网络消息发送到的操作员的网络地址。 @netsend_address 为 nvarchar (100) ,默认值为 NULL。
[ @category_name = ] 'category'
此操作员的类别名称。 @category_name 为 sysname,默认值为 NULL。
返回代码值
0
(成功) 或 1
(失败) 。
结果集
无。
备注
sp_add_operator
必须从 msdb
数据库运行。
如果想要使用分页,电子邮件系统必须具有电子邮件到寻呼功能。
SQL Server Management Studio 为管理作业提供了一种图形化的简便方法,建议使用此方法来创建和管理作业基础结构。
权限
此存储过程由 db_owner 角色拥有。 可以为任何用户授予 EXECUTE 权限,但在SQL Server升级期间可能会覆盖这些权限。
示例
下面的示例设置 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