sp_add_operator (Transact-SQL)

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

主题链接图标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,表示操作员无法接收寻呼。有效值介于 0127 之间。将所需日期的对应值相加即可计算出 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