sp_help_alert (Transact-SQL)

适用于:SQL Server

报告有关为服务器定义的警报的信息。

Transact-SQL 语法约定

语法

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_format1sp_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 则为 0NULL
severity int 定义警报的严重性级别(从9、到、130110120140)。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