sp_help_alert (Transact-SQL)

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

主题链接图标Transact-SQL 语法约定

语法

sp_help_alert [ [ @alert_name = ] 'alert_name' ] 
     [ , [ @order_by = ] 'order_by' ] 
     [ , [ @alert_id = ] alert_id ] 
     [ , [ @category_name = ] 'category' ] 
     [ , [ @legacy_format = ] legacy_format ]

参数

  • [ @alert_name =] 'alert_name'
    警报名称。alert_name 的数据类型为 nvarchar(128)。如果未指定 alert_name,则返回有关所有警报的信息。

  • [ @order_by =] 'order_by'
    用于生成结果的排序顺序。order_by的数据类型为 sysname,默认值为 N 'name'。

  • [ @alert_id =] alert_id
    报告其有关信息的警报的标识号。alert_id的数据类型为 int,默认值为 NULL。

  • [ @category_name =] 'category'
    警报的类别。category 的数据类型为 sysname,默认值为 NULL。

  • [ @legacy_format=] legacy_format
    是否要生成早期结果集。legacy_format 的数据类型为 bit,默认值为 0。当 legacy_format 为 1 时,sp_help_alert 将返回由 Microsoft SQL Server 2000 中的 sp_help_alert 返回的结果集。

返回代码值

0(成功)或 1(失败)

结果集

@legacy_format0 时,sp_help_alert 将生成以下结果集:

列名

数据类型

说明

id

int

系统分配的唯一整数标识符。

name

sysname

警报名称(例如,Demo: Full msdb log)。

event_source

nvarchar(100)

事件源。对于 Microsoft SQL Server 7.0 版,事件源始终为 MSSQLServer

event_category_id

int

标识为仅供参考。不提供支持。不保证以后的兼容性。

event_id

int

标识为仅供参考。不提供支持。不保证以后的兼容性。

message_id

int

定义警报的消息错误号。(通常对应于 sysmessages 表中的错误号)。如果使用严重性定义警报,则 message_id0 或 NULL。

severity

int

定义警报的严重级别(从 925110120130140)。

enabled

tinyint

指示警报当前是处于启用 (1) 还是禁用 (0) 状态。不发送未启用的警报。

delay_between_responses

int

警报两次响应之间的等待间隔(秒)。

last_occurrence_date

int

上次出现警报的日期。

last_occurrence_time

int

上次出现警报的时间。

last_response_date

int

SQLServerAgent 服务上次响应警报的日期。

last_response_time

int

SQLServerAgent 服务上次响应警报的时间。

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)

如果 type2,则此列将显示性能条件的定义;否则,此列为 NULL。

category_name

sysname

标识为仅供参考。不提供支持。不保证以后的兼容性。对于 SQL Server 7.0,将始终为“[Uncategorized]”。

wmi_namespace

sysname

如果 type3,则此列将显示 WMI 事件的命名空间。

wmi_query

nvarchar(512)

如果 type3,则此列显示 WMI 事件的查询。

type

int

事件类型:

1 = SQL Server 事件警报

2 = SQL Server 性能警报

3 = WMI 事件警报

@legacy_format1 时,sp_help_alert 将生成以下结果集:

列名

数据类型

说明

id

int

系统分配的唯一整数标识符。

name

sysname

警报名称(例如,Demo: Full msdb log)。

event_source

nvarchar(100)

事件源。对于 SQL Server 7.0 版,事件源始终为 MSSQLServer

event_category_id

int

标识为仅供参考。不提供支持。不保证以后的兼容性。

event_id

int

标识为仅供参考。不提供支持。不保证以后的兼容性。

message_id

int

定义警报的消息错误号。(通常对应于 sysmessages 表中的错误号)。如果使用严重性定义警报,则 message_id0 或 NULL。

severity

int

定义警报的严重级别(从 925110120130 或 140)。

enabled

tinyint

指示警报当前是处于启用 (1) 还是禁用 (0) 状态。不发送未启用的警报。

delay_between_responses

int

警报两次响应之间的等待间隔(秒)。

last_occurrence_date

int

上次出现警报的日期。

last_occurrence_time

int

上次出现警报的时间。

last_response_date

int

SQLServerAgent 服务上次响应警报的日期。

last_response_time

int

SQLServerAgent 服务上次响应警报的时间。

notification_message

nvarchar(512)

作为电子邮件或寻呼通知的一部分发送给操作员的其他可选消息。

include_event_description

tinyint

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)

如果 type2,则此列将显示性能条件的定义。如果 type3,则此列显示 WMI 事件的查询。否则,此列为 NULL。

category_name

sysname

标识为仅供参考。不提供支持。不保证以后的兼容性。对于 SQL Server 7.0,将始终为“[Uncategorized]”。

type

int

警报类型:

1 = SQL Server 事件警报

2 = SQL Server 性能警报

3 = WMI 事件警报

注释

必须从 msdb 数据库执行 sp_help_alert

权限

默认情况下,只有 sysadmin 固定服务器角色的成员才可以执行此存储过程。其他用户必须被授予 msdb 数据库中的 SQLAgentOperatorRole 固定数据库角色的权限。

有关 SQLAgentOperatorRole 的详细信息,请参阅 SQL Server 代理固定数据库角色

示例

以下示例报告有关 Demo: Sev. 25 Errors 警报的信息。

USE msdb ;
GO

EXEC sp_help_alert @alert_name = 'Demo: Sev. 25 Errors'
GO