Updated on 2023-09-26 GMT+08:00

Creating Alerts

Scenarios

You can use a stored procedure to create an alert.

Prerequisites

An RDS for SQL Server DB instance has been connected. Connect to the DB instance through the SQL Server client. For details, see Connecting to a DB Instance Through a Public Network.

Procedure

Run the following commands to create an alert:

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';

Table 1 Parameter description

Parameter

Description

'name'

The name of the alert. The name appears in the e-mail or pager message sent in response to the alert. It must be unique and can contain the percent (%) character. name is sysname, with no default.

message_id

The message error number that defines the alert. (It usually corresponds to an error number in the sysmessages table.) message_id is int, with a default of 0. If severity is used to define the alert, message_id must be 0 or NULL.

severity

The severity level (from 1 through 25) that defines the alert. Any SQL Server message stored in the sysmessages table sent to the Microsoft Windows application log with the indicated severity causes the alert to be sent. severity is int, with a default of 0. If message_id is used to define the alert, severity must be 0.

enabled

The current status of the alert. enabled is tinyint, with a default of 1 (enabled). If the value is 0, the alert is not enabled and does not fire.

delay_between_responses

The wait period, in seconds, between responses to the alert. delay_between_responses is int, with a default of 0, which means there is no waiting between responses (each occurrence of the alert generates a response). The response can be in either or both of these forms:

  • One or more notifications sent through e-mail or pager.
  • A job to execute.

By setting this value, it is possible to prevent, for example, unwanted e-mail messages from being sent when an alert repeatedly occurs in a short period of time.

'notification_message'

An optional additional message sent to the operator as part of the e-mail, net send, or pager notification. notification_message is nvarchar(512), with a default of NULL. Specifying notification_message is useful for adding special notes such as remedial procedures.

include_event_description_in

Whether the description of the SQL Server error should be included as part of the notification message. include_event_description_in is tinyint, with a default of 5 (e-mail and net send), and can have one or more of these values combined with an OR logical operator.

'database'

The database in which the error must occur for the alert to fire. If database is not supplied, the alert fires regardless of where the error occurred. database is sysname. Names that are enclosed in brackets ([ ]) are not allowed. The default value is NULL.

'event_description_keyword_pattern'

The sequence of characters that the description of the SQL Server error must be like. Transact-SQL LIKE expression pattern-matching characters can be used. event_description_keyword_pattern is nvarchar(100), with a default of NULL. This parameter is useful for filtering object names (for example, %customer_table%).

job_id

The job identification number of the job to run in response to this alert. job_id is uniqueidentifier, with a default of NULL.

'job_name'

The name of the job to be executed in response to this alert. job_name is sysname, with a default of NULL.

raise_snmp_trap

Not implemented in SQL Server version 7.0. raise_snmp_trap is tinyint, with a default of 0.

'performance_condition'

A value expressed in the format "itemcomparatorvalue." performance_condition is nvarchar(512) with a default of NULL, and consists of these elements.

  • Item: A performance object, performance counter, or named instance of the counter
  • Comparator: One of these operators: >, <, or =
  • Value: Numeric value of the counter

'category'

The name of the alert category. category is sysname, with a default of NULL.

'wmi_namespace'

The WMI namespace to query for events. wmi_namespace is sysname, with a default of NULL. Only namespaces on the local server are supported.

'wmi_query'

The query that specifies the WMI event for the alert. wmi_query is nvarchar(512), with a default of NULL.

After the command is executed, the system displays the following information.

Commands completed successfully.

Example

The command output is as follows.