sp_add_operator (Transact-SQL)

适用于:SQL ServerAzure SQL 托管实例

创建用于警报和作业的操作员(通知收件人)。

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

指示操作员的当前状态。 @enabledtinyint,默认值 1 为 (已启用)。 如果未 0启用该运算符,并且未收到通知。

[ @email_address = ] N'email_address'

操作员的电子邮件地址。 此字符串将直接传递到电子邮件系统。 @email_address为 nvarchar(100),默认值为 NULL.

可以为@email_address指定物理电子邮件地址或别名。 例如:

fatmir.bregufatmir.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表示操作员永远无法接收页面。 有效值来自 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 = ] '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