sp_help_notification (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