sp_help_notification (Transact-SQL)

报告给定操作员的警报列表,或者报告给定警报的操作员列表。

主题链接图标Transact-SQL 语法约定

语法

sp_help_notification
     [ @object_type = ] 'object_type' ,
     [ @name = ] 'name' ,
     [ @enum_type = ] 'enum_type' , 
     [ @notification_method = ] notification_method 
     [ , [ @target_name = ] 'target_name' ] 

参数

  • [ @object_type =] 'object_type'
    要返回的信息的类型。object_type的数据类型为 char(9),无默认值。object_type 可以为 ALERTS,这将列出分配给所提供的操作员名称的警报,还可以为 OPERATORS,这将列出对所提供的警报名称负责的操作员。

  • [ @name = ] 'name'
    运算符名称(如果 object_type 是 OPERATORS)或警报名称(如果 object_type 是 ALERTS)。name 是 sysname,无默认值。

  • [ @enum_type =] 'enum_type'
    返回的 object_type信息。多数情况下,enum_type 的数据类型为 ACTUAL。enum_type的数据类型为 char(10),无默认值,并且可以是下列值之一:

    说明

    ACTUAL

    只列出与 name 相关联的 object_types。

    ALL

    列出所有的object_types,包括那些与 name 不相关的。

    TARGET

    只列出与提供的 target_name 相匹配的 object_types,而不考虑与name 的关联。

  • [ @notification_method =] notification_method
    用于确定要返回的通知方法列的数值。notification_method 的数据类型为 tinyint,并且可以是下列值之一:

    说明

    1

    电子邮件:只返回 use_email 列。

    2

    寻呼:只返回 use_pager 列。

    4

    NetSend:只返回 use_netsend 列。

    7

    全部:返回全部列。

  • [ @target_name =] 'target_name'
    要搜索的警报名称(如果 object_type 的数据类型为 ALERTS)或要搜索的操作员名称(如果 object_type 的数据类型为 OPERATORS)。仅当 enum_type 的数据类型为 TARGET 时,才需要 target_name。target_name 的数据类型为 sysname,默认值为 NULL。

返回代码值

0(成功)或 1(失败)

结果集

如果 object_type 的数据类型为 ALERTS,那么结果集将为给定操作员列出所有警报。

列名

数据类型

说明

alert_id

int

警报标识号。

alert_name

sysname

警报名称。

use_email

int

使用电子邮件通知操作员:

1 = 是

0 = 否

use_pager

int

使用寻呼通知操作员:

1 = 是

0 = 否

use_netsend

int

使用网络弹出消息通知操作员:

1 = 是

0 = 否

has_email

int

为此警报发送的电子邮件通知的次数。

has_pager

int

为此警报发送的寻呼通知的次数。

has_netsend

int

为此警报发送的 net send 通知的次数。

如果 object_type 的数据类型为 OPERATORS,那么结果集将为给定的警报列出所有操作员。

列名

数据类型

说明

operator_id

int

操作员标识号。

operator_name

sysname

操作员名称。

use_email

int

使用电子邮件发送操作员的通知:

1 = 是

0 = 否

use_pager

int

使用寻呼发送操作员的通知:

1 = 是

0 = 否

use_netsend

int

使用网络弹出消息通知操作员:

1 = 是

0 = 否

has_email

int

操作员有电子邮件地址:

1 = 是

0 = 否

has_pager

int

操作员有寻呼地址:

1 = 是

0 = 否

has_netsend

int

操作员已配置网络发送通知。

1 = 是

0 = 否

注释

必须从 msdb 数据库运行此存储过程。

权限

若要执行此存储过程,用户必须为 sysadmin 固定服务器角色的成员。

示例

A. 列出特定操作员的警报

以下示例返回操作员 François Ajenstat 接收与其相关的任何一种通知的所有警报。

USE msdb ;
GO

EXEC dbo.sp_help_notification 
    @object_type = N'ALERTS',
    @name = N'François Ajenstat',
    @enum_type = N'ACTUAL',
    @notification_method = 7 ;
GO

B. 列出特定警报的操作员

以下示例返回接收到 Test Alert 警报的任何一种通知的所有操作员。

USE msdb ;
GO

EXEC sp_help_notification
    @object_type = N'OPERATORS',
    @name = N'Test Alert',
    @enum_type = N'ACTUAL',
    @notification_method = 7 ;
GO