数据库镜像监视器概述

如果有适当的权限,您可以使用数据库镜像监视器来监视服务器实例上的镜像数据库的任何子集。通过监视可以验证数据库镜像会话中是否有数据流动以及数据流动的方式。数据库镜像监视还有助于排查数据流减少的原因。

可以在每个故障转移伙伴上分别注册要监视的镜像数据库。注册数据库时,数据库镜像监视器将缓存有关数据库的以下信息:

  • 数据库名称

  • 两个伙伴服务器实例的名称

  • 每个伙伴的上一个已知角色(主体或镜像)

权限

若要监视数据库镜像,您必须是 sysadmin 固定服务器角色的成员,或是服务器实例上 msdb 数据库的 dbm_monitor 固定数据库角色的成员。如果您只是某一个伙伴服务器实例中的 sysadmindbm_monitor 的成员,则监视器只能连接到该伙伴,监视器不能从其他伙伴中检索信息。

如果您只是服务器实例上的 dbm_monitor 的成员,您对该服务器实例只具有有限的权限。您只能查看最新的状态行。如果使用 dbm_monitor 权限连接到服务器实例,数据库镜像监视器将提示您的权限有限。

重要说明重要提示

在数据库镜像监视器中注册第一个数据库时,将在 msdb 数据库中创建 dbm_monitor 固定数据库角色。在系统管理员为 dbm_monitor 角色分配用户之前,该角色没有任何成员。

导航树

如果已经注册要由数据库镜像监视器监视的任何数据库,则导航树中将显示已注册数据库的列表。该树每隔 30 秒自动刷新一次。若要查看注册数据库的状态,请将其选中。有关详细信息,请参阅本主题后面的“详细信息窗格”。

对于每个注册数据库,都将显示以下信息:

<Database_name>(<Status>,<PRINCIPAL_SERVER>-><MIRROR_SERVER>)

  • <Database_name>
    向数据库镜像监视器注册的镜像数据库的名称。

  • <Status>
    可能的状态及其相关图标如下所示:

    图标

    状态

    说明

    警告图标

    未知

    监视器未与任一伙伴建立连接。唯一可用的信息是监视器缓存的内容。

    警告图标

    正在同步

    镜像数据库的内容滞后于主体数据库的内容。主体服务器实例正在向镜像服务器实例发送日志记录,这会对镜像数据库应用更改,使其前滚。

    在数据库镜像会话开始时,镜像数据库和主体数据库处于此状态。

    标准数据库柱状

    已同步

    当镜像服务器与主体服务器几乎保持同步时,数据库状态将更改为“已同步”。只要主体服务器继续向镜像服务器发送更改,并且镜像服务器继续将更改应用于镜像数据库,数据库就会保持此状态。

    对于高安全模式,自动故障转移和手动故障转移都可以使用,并且不会造成任何数据丢失。

    对于高性能模式,可能总会有些数据丢失,即使在“已同步”状态中也是如此。

    警告图标

    已挂起

    主体数据库可用,但没有向镜像服务器发送任何日志。

    错误图标

    已断开连接

    服务器实例无法与其伙伴建立连接。

  • <PRINCIPAL_SERVER>
    当前作为主体服务器实例的伙伴的名称。该名称采用以下格式:

    <SYSTEM_NAME>[\<instance_name>]

    其中,<SYSTEM_NAME> 是服务器实例所在系统的名称。对于非默认服务器实例,实例名也显示为:<SYSTEM_NAME>\<instance_name>。

  • <MIRROR_SERVER>
    当前作为镜像服务器实例的伙伴的名称。格式与主体服务器的格式相同。

“详细信息”窗格

监视器的外观取决于是否选中数据库。打开监视器时,“详细信息”窗格会显示**“注册镜像数据库”链接。单击此链接可注册数据库。导航树的“数据库镜像监视器”**节点下会列出注册数据库。数据库镜像监视器总是试图连接到它已为其存储凭据的每个服务器实例。

选定一个数据库后,“详细信息”窗格的**“状态”**选项卡式页面中将显示该数据库的状态。该页的内容来自主体和镜像服务器实例。通过与主体服务器实例和镜像服务器实例的单独连接收集状态时,会异步填充该页。该状态每隔 30 秒自动刷新一次。

注意注意

您不能更改监视器的刷新速率,但可以通过“数据库镜像历史记录”对话框刷新状态表。

通过选择**“警告”选项卡式页面,系统管理员可以查看数据库的当前警告配置。在此,管理员可以启动“设置警告阈值”**对话框,以启用并配置一个或多个警告阈值。

在选项卡上方的标题中,“详细信息”窗格将监视器上次刷新状态信息的时间显示为:上次刷新:<日期><时间>。通常,数据库镜像监视器会在不同时间从主体和镜像服务器实例中检索状态信息。将显示两次刷新时间中较早的时间。

“操作”菜单

**“操作”**菜单总是包含以下命令:

命令

说明

注册镜像数据库...

打开“注册镜像数据库”对话框。使用该对话框,通过向数据库镜像监视器添加一个或多个数据库,可在给定的服务器实例中注册一个或多个镜像数据库。添加数据库时,数据库镜像监视器会在本地缓存有关数据库及其伙伴的信息,以及如何将数据库连接到伙伴的信息。

管理服务器实例连接...

选择该命令时,将打开“管理服务器连接”对话框。在此,您可以选择要指定凭据的服务器实例,以便监视器在连接到给定伙伴时使用该凭据。

若要编辑伙伴的凭据,请在“服务器实例”网格中找到对应条目,并在该行中单击“编辑”。此时将显示“连接到服务器”对话框,其中固定了服务器实例名称并且将凭据控制初始化为当前的缓存值。根据需要更改身份验证信息,并单击“连接”。如果凭据有足够的权限,则会以新凭据更新“连接方式”列。

如果选定了一个数据库,**“操作”**菜单还将包含以下命令。

命令

说明

撤消注册此数据库

从数据库镜像监视器中删除选定的数据库。

设置警告阈值…

打开“设置警告阈值”对话框。在此,系统管理员可以在每个伙伴上启用或禁用数据库警告,并可更改每个警告的阈值。建议您在两个伙伴上都为给定警告设置阈值,以确保数据库进行故障转移时,警告仍然存在。每个伙伴的相应阈值取决于伙伴系统的性能。

更新状态表时,只有在性能值处于或高于阈值的情况下,才会将事件写入性能的事件日志。如果峰值在两次状态更新之间瞬间达到阈值,峰值将丢失。

使用 SQL Server Management Studio 监视数据库镜像