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