将警告阈值和警报用于镜像性能指标

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

注意注意

有关监视镜像数据库的原理以及如何配置警告阈值的信息,请参阅监视镜像状态

性能指标和警告阈值

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

性能指标

警告阈值

数据库镜像监视器标签

未发送日志

指定未发送日志达到多少 KB 后,在主体服务器实例上生成一个警告。此警告有助于根据 KB 度量数据丢失的可能性,尤其与高性能模式相关。但是,当镜像因伙伴断开连接而暂停或挂起时,该警告也适用于高安全模式。

如果未发送日志超出了阈值,则发出警告

未还原日志

指定未还原日志达到多少 KB 后,会在镜像服务器实例上生成一个警告。此警告可以帮助度量故障转移时间。“故障转移时间”主要包括前一个镜像服务器前滚其重做队列中剩余的任意日志所需的时间,以及一小段额外时间。

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

有关详细信息,请参阅估计角色切换过程中的服务中断

如果未还原日志超出了阈值,则发出警告

最早的未发送事务

指定在主体服务器实例上生成警告之前,发送队列中可以累积的事务的分钟数。此警告有助于根据时间度量数据丢失的可能性,尤其与高性能模式相关。但是,当镜像因伙伴断开连接而暂停或挂起时,该警告也适用于高安全模式。

如果最早的未发送事务的保留时间超出了阈值,则发出警告

镜像提交开销

指定在主体服务器上生成警告之前,每个事务可允许的平均延迟的毫秒数。此延迟是主体服务器实例等待镜像服务器实例将事务日志记录写入重做队列时,所发生的开销量。该值只适用于高安全模式。

如果镜像提交开销超过了阈值则发出警告

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

设置和管理警告阈值

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

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

  • 数据库镜像监视器

    在数据库镜像监视器中,管理员可以通过选择**“警告”选项卡式页面,同时查看主体服务器实例和镜像服务器实例上选定数据库的当前警告配置。在此页上,管理员可以打开“设置警告阈值”**对话框以启用和配置一个或多个警告阈值。

    有关数据库镜像监视器界面的介绍,请参阅数据库镜像监视器概述。有关启动数据库镜像监视器的信息,请参阅如何启动数据库镜像监视器

  • 系统存储过程

    管理员可以使用下面一组系统存储过程,针对伙伴双方的镜像数据库,分别设置和管理警告阈值。

    过程

    说明

    sp_dbmmonitorchangealert (Transact-SQL)

    添加或更改指定镜像性能指标的警告阈值。

    sp_dbmmonitorhelpalert (Transact-SQL)

    返回若干个关键数据库镜像监视器性能指标中的一个或所有指标的警告阈值信息。

    sp_dbmmonitordropalert (Transact-SQL)

    删除指定性能指标的警告。

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

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

性能指标

事件 ID

未发送日志

32042

未还原日志

32043

最早的未发送事务

32040

镜像提交开销

32044

注意注意

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

将警报用于镜像数据库

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

  • 性能阈值事件

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

  • 状态更改事件

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

    注意注意

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

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

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

有关详细信息,请参阅此 SQL Server 网站上有关数据库镜像事件警报的白皮书。此白皮书包含有关如何使用 SQL Server 代理、数据库镜像 WMI 事件以及示例脚本配置警报的信息。

重要说明重要提示

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