更新现有警报的设置。
sp_updatealert [@name =] 'name'
[, [@new_name =] 'new_name']
[, [@message_id =] message_id]
[, [@enabled =] enabled]
[, [@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