创建警报
操作场景
使用存储过程创建一个警报。
前提条件
成功连接RDS for SQL Server实例。通过SQL Server客户端连接目标实例,具体操作请参见通过公网连接RDS for SQL Server实例。
操作步骤
执行以下命令,创建一个警报
EXEC [msdb].[dbo].[rds_add_alert]
@name='name',
@message_id=message_id,
@severity=severity,
@enabled=enabled,
@delay_between_responses= delay_between_responses,
@notification_message='notification_message',
@include_event_description_in=include_event_description_in,
@database_name='database',
@event_description_keyword='event_description_keyword_pattern',
@job_id=job_id,
@job_name='job_name',
@raise_snmp_trap=raise_snmp_trap,
@performance_condition='performance_condition',
@category_name='category',
@wmi_namespace='wmi_namespace',
@wmi_query='wmi_query';
参数 |
说明 |
---|---|
'name' |
警报名称。该名称显示在为响应警报而发送的电子邮件或寻呼消息中。它必须唯一,并且可以包含百分号( % )字符。名称为sysname,无默认值。 |
message_id |
定义警报的消息错误号。(它通常与sysmessages表中的错误号相对应。)“message_id”的值为“int”,默认值为0。如果使用严重性来定义警报,则“message_id”必须为“0”或“NULL”。 |
severity |
定义警报的严重级别(从1到25)。 如果sysmessages表中存储的任何SQL Server消息都发送到带有指定严重性的Microsoft Windows应用程序日志,则会导致发送警报。严重性为int,默认值为0。如果使用message_id来定义警报,则严重性必须为0。 |
enabled |
指示警报的当前状态。enabled为tinyint,默认值为1(已启用)。如果为0,则不启用警报,也不触发警报。 |
delay_between_responses |
警报响应之间的等待时间(以秒为单位)。“delay_between_responses”的值为“int”,默认值为0,这意味着响应之间不等待(每次出现警报时都生成响应)。响应可以为下面的一种或两种形式:
例如,当警报在短时间内重复产生时,通过设置该值就有可能避免发送重复的电子邮件。 |
'notification_message' |
作为电子邮件、net send或寻呼通知的一部分发送给操作员的可选附加消息。“notification_message”值为“nvarchar(512)”,默认值为NULL。指定notification_message可用于添加特别注释,如补救过程。 |
include_event_description_in |
include_event_description_in是否应将SQL Server错误的说明作为通知消息的一部分包括在内。include_event_description_in为tinyint,默认值为5(电子邮件和网络发送),并且可以将这些值中的一个或多个与or逻辑运算符组合在一起。 |
'database' |
必须发生错误才能触发警报的数据库。如果未提供数据库,则会触发警报,而不考虑错误发生的位置。数据库为sysname。不允许用方括号 ([ ]) 将名称括起来。默认值为NULL。 |
'event_description_keyword_pattern' |
SQL Server错误说明所需的字符序列。可以使用 Transact-SQL LIKE表达式模式匹配字符。“event_description_keyword_pattern”的值为“nvarchar(100)” ,默认值为NULL。 此参数适用于筛选对象名称(例如,% customer_table% )。 |
job_id |
为了响应此警报而运行的作业的标识号。“job_id”的值为“uniqueidentifier”,默认值为NULL。 |
'job_name' |
为响应此警报而执行的作业的名称。“job_name”的值为“sysname”,默认值为NULL。 |
raise_snmp_trap |
在版本7.0 SQL Server中未实现。“raise_snmp_trap”的值为“tinyint”,默认值为0。 |
'performance_condition' |
以 "itemcomparatorvalue" 格式表示的值。performance_condition的默认值为nvarchar(512),默认值为NULL,其中包含这些元素。
|
'category' |
警报类别的名称。category的类型为sysname,默认值为NULL。 |
'wmi_namespace' |
要查询事件的WMI命名空间。wmi_namespace的值为sysname,默认值为NULL。只支持本地服务器上的命名空间。 |
'wmi_query' |
指定警报的WMI事件的查询。wmi_query的值为nvarchar(512),默认值为NULL。 |
执行成功后,系统将会如下提示:
Commands completed successfully.
示例
回显如下: