创建用于警报和作业的操作员(通知收件人)。
语法
dbo.sp_add_operator
[ @name = ] N'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 = ] N'category_name' ]
[ ; ]
参数
[ @name = ] N'name'
操作员(通知收件人)的名称。 此名称必须是唯一的,不能包含百分比 (%) 字符。
@name为 sysname,无默认值。
[ @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为 intHHmmss
[ @pager_days = ] pager_days
一个数字,指示运算符可用于页面的天数(取决于指定的开始/结束时间)。
@pager_days 是 tinyint,默认 0为 ,表示操作员永远无法接收页面。 有效值来自 0127.
通过添加所需天数的各个值来计算@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 = ] N'category_name'
此操作员的类别名称。
@category_name为 sysname,默认值为 NULL.
如果该值为 NULL,则该算符会加上一个默认范畴 [Uncategorized]。 你也可以在数据库中查询 syscategories 表格 msdb ,从现有类别中选择:
SELECT name
FROM msdb.dbo.syscategories;
返回代码值
0(成功)或 1(失败)。
结果集
无。
注解
sp_add_operator 必须从 msdb 数据库运行。
如果想要使用分页,电子邮件系统必须具有电子邮件转页功能。
SQL Server Management Studio 为管理作业提供了一种图形化的简便方法,建议使用此方法来创建和管理作业基础结构。
权限
可以授予 EXECUTE 此过程的权限,但在 SQL Server 升级期间可能会重写这些权限。
示例
下面的示例设置 danwi 的操作员信息。 操作员已被启用。 SQL Server 代理从星期一到星期五从上午 8 点到下午 5 点通过寻呼器发送通知。
USE msdb;
GO
EXECUTE 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