sp_help_notification (Transact-SQL)
适用于:SQL Server
报告给定操作员的警报列表,或者报告给定警报的操作员列表。
语法
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_type 为 OPERATORS
)或警报名称(如果 @object_type 为 ALERTS
)。 @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_method 为 tinyint,可以是以下值之一。
值 | 说明 |
---|---|
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