Transact-SQL 参考

sp_update_alert

更新现有警报的设置。

语法

sp_updatealert [@name =] 'name'
    [, [@new_name =] 'new_name']
    [, [@enabled =] enabled]
    
[, [@message_id =] message_id]
    [, [@severity =] severity]
    [, [@delay_between_responses =] delay_between_responses]
    [, [@notification_message =] 'notification_message']
    [, [@include_event_description_in =] include_event_description_in]
    [, [@database_name =] 'database_name']
    [, [@event_description_keyword =] 'event_description_keyword']
    [, [@job_id =] job_id | [@job_name =] 'job_name']
    [, [@occurrence_count = ] occurrence_count]
    [, [@count_reset_date =] count_reset_date]
    [, [@count_reset_time =] count_reset_time]
    [, [@last_occurrence_date =] last_occurrence_date]
    [, [@last_occurrence_time =] last_occurrence_time]
    [, [@last_response_date =] last_response_date]
    [, [@last_response_time =] last_response _time]
    [, [@raise_snmp_trap =] raise_snmp_trap]
    [, [@performance_condition =] 'performance_condition']
    [, [@category_name =] 'category']

参数

[@name =] 'name'

是要更新的警报的名称。name 的数据类型为 sysname,无默认值。

[@new_name =] 'new_name'

是警报的新名称。该名称必须是唯一的。new_name 的数据类型为 sysname,其默认值为 NULL。

[@enabled =] enabled

指定警报启用 (1) 或不启用 (0)。enabled 的数据类型为 tinyint,其默认值为 NULL。警报必须启用后才能激发。

[@message_id =] message_id

是警报定义的新消息编号或错误号。message_id 通常对应于表 sysmessages 中的某一错误号。message_id 的数据类型为 int,其默认值为 NULL。仅当该警报的严重级别设置为 0 时才能使用消息 ID。

[@severity =] severity

是警报定义的新严重级别(从 1 至 25)。任何以指定严重度发送到 Windows NT® 应用程序日志的 Microsoft® SQL Server™ 消息都将激活该警报。severity 的数据类型为 int,默认设置为 NULL。仅当该警报的消息 ID 设置为 0 时,才能使用严重级别。

[@delay_between_responses =] delay_between_responses

是对警报的各响应之间的新等待时间(以秒计)。delay_between_responses 的数据类型为 int,其默认值为 NULL。

[@notification_message =] 'notification_message'

是修正过的附加消息文本,而该消息作为电子邮件、net send(网络发送)或呼叫提示的一部分发送给操作员。notification_message 的数据类型为 nvarchar(512),默认设置为 NULL。

[@include_event_description_in =] include_event_description_in

确定来自 Windows NT 应用程序日志的 SQL Server 错误的描述是否应包含在提示消息中。include_event_description_in 的数据类型为 tinyint,其默认值为 NULL,并可以取下列值中的一个或多个值。

描述
0
1 电子邮件
2 呼叫程序
4 net send

[@database_name =] 'database_name'

是数据库名。只有在该数据库中发生错误时,才能激发警报。database_name 的数据类型为 sysname,其默认值为 NULL。

[@event_description_keyword =] 'event_description_keyword'

是错误信息日志的错误描述中必须包含的字符序列。可以使用 Transact-SQL LIKE 表达式的模式匹配字符。event_description_keyword 的数据类型为 nvarchar(100),其默认值为 NULL。该参数在筛选对象名称(例如,%customer_table%)时很有用。

[@job_id =] job_id

作业标识号。job_id 的数据类型为 uniqueidentifier,默认值为 NULL。如果指定了 job_id,就必须省略 job_name

[@job_name =] 'job_name'

是响应该警报而执行的作业的名称。job_name 的数据类型为 sysname,其默认值为 NULL。如果指定了 job_name,就必须省略 job_id

[@occurrence_count = ] occurrence_count

重置警报发生的次数。occurrence_count 的数据类型为 int,其默认值为 NULL,且只能设置为 0

[@count_reset_date =] count_reset_date

重置发生计数的上一次重置日期。count_reset_date 的数据类型为 int,其默认值为 NULL。

[@count_reset_time =] count_reset_time

重置发生计数的上一次重置时间。count_reset_time 的数据类型为 int,其默认值为 NULL。

[@last_occurrence_date =] last_occurrence_date

重置警报的上一次发生日期。last_occurrence_date 的数据类型为 int,其默认值为 NULL,且只能设置为 0

[@last_occurrence_time =] last_occurrence_time

重置警报的上一次发生时间。last_occurrence_time 的数据类型为 int,其默认值为 NULL,且只能设置为 0

[@last_response_date =] last_response_date

重置 SQLServerAgent 服务上一次响应警报的日期。last_response_date 的数据类型为 int,其默认值为 NULL,且只能设置为 0

[@last_response_time =] last_response_time

重置 SQLServerAgent 服务上一次响应警报的时间。last_response_time 的数据类型为 int,其默认值为 NULL,且只能设置为 0

[@raise_snmp_trap =] raise_snmp_trap

保留。

[@performance_condition =] 'performance_condition'

是以 'item comparator value' 格式表示的值。performance_condition 的数据类型为 nvarchar(512),其默认值为 NULL,并含有以下元素。

格式元素 描述
item 性能对象,性能计数器或计数器的命名实例
Comparator 下列运算符之一: >, <, =
Value 计数器的数值

[@category_name =] 'category'

警报分类的名称。category 的数据类型为 sysname,默认值为 NULL。

返回代码值

0(成功)或 1(失败)

注释

sp_update_alert 必须从 msdb 数据库中执行。

只有写入 Microsoft® Windows NT® 应用程序日志的 sysmessages 才能激发警报。

sp_update_alert 只更改提供了参数值的警报设置。如果省略某一参数,则保留其当前设置。

权限

只有 sysadmin 固定服务器角色的成员才能执行 sp_update_alert

示例

下例将 Test Alert 的 enabled 设置更改为 0。

sp_updatealert @name = 'Test Alert', @enabled = 0

请参见

sp_add_alert

sp_help_alert

系统存储过程