SQL Server 代理仅在特定数据库中发生事件时才发出警报。 此选项是对错误号或严重级别的补充。 例如,如果实例中包含一个用于生产
一个警报响应一种特定的事件。 警报响应下列事件类型:
1.SQL Server 事件:
可以指定一个警报响应一个或多个事件。 使用下列参数来指定触发警报的事件:
错误号
SQL Server 代理在发生特定错误时发出警报。 例如,,可以指定错误号 2571 来响应未经授权就尝试调用数据库控制台命令 (DBCC) 的操作。
严重级别
SQL Server 代理在发生特定级别的严重错误时发出警报。 例如,可以指定严重级别 15 来响应 Transact-SQL 语句中的语法错误。
数据库
SQL Server 代理仅在特定数据库中发生事件时才发出警报。 此选项是对错误号或严重级别的补充。 例如,如果实例中包含一个用于生产的数据库和一个用于报告的数据库,可以定义仅响应生产数据库中的语法错误的警报。
事件文本
SQL Server 代理在指定事件的事件消息中包含特定文本字符串时发出警报。 例如,可以定义警报来响应包含特定表名或特定约束的消息。
2.SQL Server 性能条件
可以指定警报来响应特定的性能条件。 在这种情况下,需要指定要监视的性能计数器、警报的阈值以及警报发生时计数器必须执行的操作。 若要设置性能条件,必须在 SQL Server 代理的“新建警报”或“警报属性”对话框中的“常规”页上定义下列项:
对象
对象是要监视的性能区域。
计数器
计数器是要监视的区域的属性。
实例
SQL Server 实例定义了要监视的属性的特定实例(如果存在)。
“计数器满足以下条件时触发警报”和“值”
警报的阈值和导致警报的行为。 阈值是数字。 行为是下列之一:“低于”、“等于”或“大于”指定的值。 “值”是描述性能条件计数器的数字。 例如,若要为性能对象 SQLServer:Locks 设置在 Lock Wait Time 超过 30 秒时要发生的警报,则可以选择“大于”并指定 30 作为“值”。
又如,可以为性能对象 SQLServer:Transactions 指定在 tempdb 中的可用空间低于 1000 KB 时发出警报。 若要这样设置,您应当选择计数器 Free space in tempdb (KB)、“小于”和“值”1000。
3.WMI 事件
可以指定发出警报来响应特定的 WMI 事件。 若要选择 WMI 事件,必须在 SQL Server 代理的“新建警报”或“警报属性”对话框中的“常规”页上定义下列内容:
命名空间
SQL Server 代理作为 WMI 客户端在 WMI 命名空间(使用该命名空间查询事件)进行注册。
查询
SQL Server 代理使用所提供的 Windows Management Instrumentation 查询语言 (WQL) 语句来标识特定事件。
下列链接指向常见的任务:
基于消息号创建警报
SQL Server Management Studio
Transact-SQL
SQL Server 管理对象 (SMO)
基于严重级别创建警报
SQL Server Management Studio
Transact-SQL
SQL Server 管理对象 (SMO)
基于 WMI 事件创建警报
SQL Server Management Studio
Transact-SQL
SQL Server 管理对象 (SMO)
定义对警报的响应
SQL Server Management Studio
Transact-SQL
SQL Server 管理对象 (SMO)
创建用户定义事件的错误消息
Transact-SQL
修改用户定义事件的错误消息
Transact-SQL
删除用户定义事件的错误消息
Transact-SQL
禁用或重新激活警报
SQL Server Management Studio
Transact-SQL
SQL Server 管理对象 (SMO)