sp_help_alert (Transact-SQL)
适用于:SQL Server
报告有关为服务器定义的警报的信息。
语法
sp_help_alert
[ [ @alert_name = ] N'alert_name' ]
[ , [ @order_by = ] N'order_by' ]
[ , [ @alert_id = ] alert_id ]
[ , [ @category_name = ] N'category_name' ]
[ , [ @legacy_format = ] legacy_format ]
[ ; ]
参数
[ @alert_name = ] N'alert_name'
警报名称。 @alert_name为 sysname,默认值为 NULL
. 如果未 指定@alert_name ,则会返回有关所有警报的信息。
[ @order_by = ] N'order_by'
用于生成结果的排序顺序。 @order_by为 sysname,默认值为 @alert_name。
[ @alert_id = ] alert_id
报告其有关信息的警报的标识号。 @alert_id为 int,默认值为 NULL
.
[ @category_name = ] N'category_name'
警报的类别。 @category_name为 sysname,默认值为 NULL
.
[ @legacy_format = ] legacy_format
指定是否生成旧结果集。 @legacy_format为位,默认值为 0
. 当@legacy_format1
时,sp_help_alert
返回 SQL Server 2000 (8.x) 中返回sp_help_alert
的结果集。
返回代码值
0
(成功)或 1
(失败)。
结果集
对于 SQL Server 2005(9.x)及更高版本,此表仅显示@legacy_format0
时的输出。
列名称 | 数据类型 | 说明 |
---|---|---|
id |
int | 系统分配的唯一整数标识符。 |
name |
sysname | 警报名称(例如, Demo: Full msdb log )。 |
event_source |
nvarchar(100) | 事件源。 |
event_category_id |
int | 标识为仅供参考。 不支持。 不保证以后的兼容性。 |
event_id |
int | 标识为仅供参考。 不支持。 不保证以后的兼容性。 |
message_id |
int | 定义警报的消息错误号。 (通常对应于表中的错误号 sysmessages )。 如果使用严重性来定义警报, message_id 则为 0 或 NULL 。 |
severity |
int | 定义警报的严重性级别(从9 、到、130 110 120 或140 )。25 |
enabled |
tinyint | 警报当前是否已启用(1 )的状态。0 未发送不可启用的警报。 |
delay_between_responses |
int | 警报两次响应之间的等待间隔(秒)。 |
last_occurrence_date |
int | 上次出现警报的日期。 |
last_occurrence_time |
int | 上次出现警报的时间。 |
last_response_date |
int | 警报上次由SQL Server 代理服务响应的日期。 |
last_response_time |
int | 警报上次由SQL Server 代理服务响应的时间。 |
notification_message |
nvarchar(512) | 作为电子邮件或寻呼通知的一部分发送给操作员的其他可选消息。 |
include_event_description |
tinyint | Microsoft Windows 应用程序日志中的 SQL Server 错误说明是否应成为通知消息的一部分。 |
database_name |
sysname | 必须出现错误才能使警报得以激发的数据库。 如果数据库名称为 NULL ,则无论发生错误的位置如何,警报都会触发。 |
event_description_keyword |
nvarchar(100) | Windows 应用程序日志中 SQL Server 错误的说明必须与提供的字符序列类似。 |
occurrence_count |
int | 警报出现的次数。 |
count_reset_date |
int | 上次重置的 occurrence_count 日期。 |
count_reset_time |
int | 上次 occurrence_count 重置的时间。 |
job_id |
uniqueidentifier | 为了响应警报而执行的作业的标识号。 |
job_name |
sysname | 为了响应警报而执行的作业的名称。 |
has_notification |
int | 如果将这个警报通知给一个或多个操作员,则为非零。 该值是以下一个或多个值(OR 一起):1 = 具有电子邮件通知2 = 具有寻呼通知4 = 具有 net send 通知。 |
flags |
int | 标识为仅供参考。 不支持。 不保证以后的兼容性。 |
performance_condition |
nvarchar(512) | 2 如果是type ,则此列显示性能条件的定义;否则,列为 NULL 。 |
category_name |
sysname | 标识为仅供参考。 不支持。 不保证以后的兼容性。 始终适用于 [Uncategorized] SQL Server 7.0。 |
wmi_namespace |
sysname | 3 如果是type ,则此列显示 WMI 事件的命名空间。 |
wmi_query |
nvarchar(512) | 3 如果是type ,则此列显示 WMI 事件的查询。 |
type |
int | 事件的类型:1 = SQL Server 事件警报2 = SQL Server 性能警报3 = WMI 事件警报 |
注解
sp_help_alert
必须从 msdb
数据库运行。
权限
此存储过程由 db_owner 角色拥有。 你可以为任何用户授予 EXECUTE
权限,但这些权限可能会在 SQL Server 升级期间被重写。
其他用户必须被授予数据库中以下SQL Server 代理固定数据库角色msdb
之一:
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
有关这些角色的权限的详细信息,请参阅 SQL Server 代理固定数据库角色。
示例
以下示例报告有关 Demo: Sev. 25 Errors
警报的信息。
USE msdb;
GO
EXEC sp_help_alert @alert_name = 'Demo: Sev. 25 Errors';
GO