使用镜像性能度量的警告阈值和警报 (SQL Server)

适用范围:SQL Server

本主题包含有关一些 SQL Server 事件的信息,可以为这些事件配置和管理用于数据库镜像的警告阈值。 可以使用数据库镜像监视器或 sp_dbmmonitorchangealert、sp_dbmmonitorhelpalert 和 sp_dbmmonitordropalert 存储过程。 本主题还包含有关对数据库镜像事件配置警报的信息。

针对镜像数据库建立监视之后,系统管理员可以为多个关键绩效指标配置警告阈值。 同时,管理员还可以为这些数据库镜像事件和其他数据库镜像事件配置警报。

性能指标和警告阈值

下表列出可为其配置警告的性能指标,说明相应的警告阈值并列出相应的数据库镜像监视器标签。

性能指标 警告阈值 数据库镜像监视器标签
未发送日志 指定未发送日志达到多少 KB 后,在主体服务器实例上生成一个警告。 此警告有助于根据 KB 度量数据丢失的可能性,尤其与高性能模式相关。 但是,当镜像因伙伴断开连接而暂停或挂起时,该警告也适用于高安全模式。 如果未发送日志超出了阈值,则发出警告
未还原日志 指定未还原日志达到多少 KB 后,会在镜像服务器实例上生成一个警告。 此警告可以帮助度量故障转移时间。 “故障转移时间 ”主要包括前一个镜像服务器前滚其重做队列中剩余的任意日志所需的时间,以及一小段额外时间。

注意:对于自动故障转移,系统识别错误所需的时间与故障转移时间无关。

有关详细信息,请参阅估计在角色切换期间服务的中断(数据库镜像)
如果未还原日志超出了阈值,则发出警告
最早的未发送事务 指定在主体服务器实例上生成警告之前,发送队列中可以累积的事务的分钟数。 此警告有助于根据时间度量数据丢失的可能性,尤其与高性能模式相关。 但是,当镜像因伙伴断开连接而暂停或挂起时,该警告也适用于高安全模式。 如果最早的未发送事务的保留时间超出了阈值,则发出警告
镜像提交开销 指定在主体服务器上生成警告之前,每个事务可允许的平均延迟的毫秒数。 此延迟是主体服务器实例等待镜像服务器实例将事务日志记录写入重做队列时,所发生的开销量。 该值只适用于高安全模式。 如果镜像提交开销超过了阈值则发出警告

对于上述任何一个性能指标,系统管理员都可以指定镜像数据库的阈值。 有关详细信息,请参阅本主题后面的 设置和管理警告阈值

设置和管理警告阈值

系统管理员可以为关键镜像性能指标配置一个或多个警告阈值。 我们建议为伙伴双方都设置给定警告的阈值,以确保即使出现数据库故障转移的情况,警告也会一直保留。 每个伙伴的适当阈值都取决于该伙伴系统的性能。

可以使用下列任意一项配置和管理警告阈值:

发送到 Windows 事件日志的性能阈值事件

如果为性能指标定义了警告阈值,则在更新状态表时,将针对阈值计算最新的值。 如果已达到阈值,则更新过程“sp_dbmmonitorupdate”会针对指标生成一个信息性事件(“性能阈值事件”),然后将此事件写入 Microsoft Windows 事件日志。 下表列出性能阈值事件的 ID。

性能指标 事件 ID
未发送日志 32042
未还原日志 32043
最早的未发送事务 32040
镜像提交开销 32044

备注

管理员可以针对这些事件中的任何一个或多个定义警报。 有关详细信息,请参阅本主题后面的 将警报用于镜像数据库

将警报用于镜像数据库

监视镜像数据库的一个重要组成部分就是针对重要的数据库镜像事件配置警报。 SQL Server 可生成下列数据库镜像事件类型:

  • 性能阈值事件

    有关详细信息,请参阅本主题前面的“发送到 Windows 事件日志的性能阈值事件”。

  • 状态更改事件

    这些事件为 Windows Management Instrumentation (WMI) 事件,在数据库镜像会话的内部状态发生更改时生成。

    注意

    有关详细信息,请参阅 WMI Provider for Server Events 的概念

系统管理员可以使用 SQL Server 代理或其他应用程序(例如 Microsoft Operations Manager)针对这些事件配置警报。

当针对数据库镜像事件定义警报时,我们建议在伙伴双方服务器实例上同时定义警告阈值和警报。 可以在主体服务器或镜像服务器上生成单独的事件,但是每个伙伴都可以随时执行其中任意一种角色。 为了确保警报在故障转移后继续有效,必须同时在伙伴双方上定义警报。

重要

对于所有镜像会话,我们极力建议您将数据库配置为针对任意状态更改事件发送警报。 除非专门通过手动配置更改来实现状态更改,否则会出现危及数据安全的情况。 为了帮助保护数据,请找出状态发生意外更改的原因并予以纠正。

Related Tasks

使用 SQL Server Management Studio 创建警报

监视数据库镜像

另请参阅

数据库镜像 (SQL Server)
监视数据库镜像 (SQL Server)