sp_help_notification (Transact-SQL)

适用范围:SQL Server

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

Transact-SQL 语法约定

语法

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

参数

[ @object_type = ] 'object_type'

要返回的信息的类型。 @object_type为 char(9),没有默认值。 @object_type 可以 ALERTS列出分配给提供的操作员名称的警报,或者 OPERATORS列出负责提供警报名称的操作员。

[ @name = ] N'name'

操作员名称(如果 @object_typeOPERATORS)或警报名称(如果 @object_typeALERTS)。 @name为 sysname,无默认值。

[ @enum_type = ] 'enum_type'

返回 @object_type 信息。 ACTUAL在大多数情况下,@enum_type。 @enum_type为 char(10),可以是其中一个值。

说明
ACTUAL 列出与@name关联的@object_types
ALL 列出所有@object_types,包括与@name不关联的类型。
TARGET 列出与提供的@target_name匹配的@object_types,而不考虑与@name的关联。

[ @notification_method = ] notification_method

用于确定要返回的通知方法列的数值。 @notification_methodtinyint,可以是以下值之一。

说明
1 电子邮件:仅 use_email 返回列。
2 寻呼:仅 use_pager 返回列。
4 NetSend:仅 use_netsend 返回列。
7 全部:返回全部列。

[ @target_name = ] N'target_name'

要搜索的警报名称(如果@object_type为ALERTS)或要搜索的操作员名称(如果为@object_type)。OPERATORS @target_name为 sysname,默认值为 NULL. 仅当@enum_type设置为TARGET@enum_type时才需要@target_name

返回代码值

0(成功)或 1(失败)。

结果集

如果@object_typeALERTS,结果集将列出给定运算符的所有警报。

列名称 数据类型 描述
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 为此警报发送的净发送通知数。

OPERATORS如果是object_type,结果集将列出给定警报的所有运算符。

列名称 数据类型 描述
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