数据库镜像见证服务器

若要支持自动故障转移,必须在高安全模式下配置数据库镜像会话,并且还具有第三个服务器实例,称为 见证服务器。 见证服务器是 SQL Server 的可选实例,它使镜像服务器能够在高安全模式会话中识别是否启动自动故障转移。 与两个合作伙伴不同,见证服务器不管理数据库。 见证服务器唯一的角色是支持自动故障转移。

注释

在高性能模式下,见证可能会对可用性产生不利影响。 如果为数据库镜像会话配置了见证服务器,则主体服务器必须至少连接到其他一个服务器实例、镜像服务器或见证服务器或两个服务器实例。 否则,数据库将无法使用,强制恢复服务(可能导致数据丢失)是不现实的。 因此,对于高性能模式,我们强烈建议始终将见证设置为 OFF。 有关见证服务器对高性能模式的影响的信息,请参阅 数据库镜像操作模式

图示展示了有见证参与的高安全模式会话。

带有见证的镜像会话

本主题内容:

在多个会话中使用见证

特定服务器实例可以在并发数据库镜像会话中充当见证服务器,每个实例用于不同的数据库。 不同的课程可以有不同的合作伙伴。 下图显示了一个服务器实例,该实例是两个数据库镜像会话中与不同合作伙伴的见证服务器实例。

作为 2 个数据库见证服务器的服务器实例

单服务器实例可以在某些会话中同时充当见证服务器,并在其他会话中担任伙伴角色。 但是,在实践中,服务器实例通常作为见证角色或合作伙伴角色。 因为合作伙伴需要具有足够硬件来支持生产环境数据库的高级计算机,而见证服务器可以在支持 SQL Server 2014 的任何可用 Windows 系统上运行。

软件和硬件建议

强烈建议将见证服务器驻留在与合作伙伴分开的计算机上。 数据库镜像合作伙伴仅受 SQL Server Standard 版本和 SQL Server Enterprise 版本的支持。 相比之下,见证者也受 SQL Server 工作组和 SQL Server Express 的支持。 除了从早期版本的 SQL Server 升级期间,镜像会话中的服务器实例都必须运行同一版本的 SQL Server。 例如,当从 SQL Server 2008 的镜像配置进行升级时,支持使用 SQL Server 2008 的见证服务器。但是,无法将其添加到现有或新的 SQL Server 2008 R2 或更高版本的镜像配置中。

见证可以在任何支持这些版本的 SQL Server 的可靠计算机系统上运行。 但是,我们建议用作见证服务器的每个服务器实例都对应于运行 SQL Server Standard 版本所需的最低配置。 有关这些要求的详细信息,请参阅 安装 SQL Server 2014 的硬件和软件要求

见证节点在自动故障转移中的作用

在整个数据库镜像会话中,所有服务器实例监视其连接状态。 如果合作伙伴彼此断开连接,他们依靠见证来确保只有一个合作伙伴当前在为数据库提供服务。 如果同步的镜像服务器失去与主体服务器的连接,但仍与见证服务器保持连接,则镜像服务器会联系见证服务器以确定见证服务器是否已断开与主体服务器的连接:

  • 如果主体服务器仍连接到见证服务器,则不会发生自动故障转移。 相反,主体服务器在累积日志记录以便在合作伙伴重新连接时发送给镜像服务器的同时,继续为数据库提供服务。

  • 如果见证服务器也与主体服务器断开连接,则镜像服务器知道主体数据库变得不可用。 在这种情况下,镜像服务器会立即启动自动故障转移。

  • 如果镜像服务器与见证服务器和主体服务器断开连接,则无论主体服务器的状态如何,都不可能进行自动故障转移。

至少有两个服务器实例相连的要求被称为仲裁。 Quorum处理机制可确保数据库一次只能由一个节点提供服务。 有关仲裁的工作原理及其对会话的影响的信息,请参阅仲裁:见证服务器如何影响数据库可用性(数据库镜像)。

添加或移除见证人

添加见证

删除见证人

  • 从数据库镜像会话中删除 Witness(SQL Server)

另请参阅

数据库镜像会话期间的角色切换 (SQL Server)
数据库镜像运行模式
仲裁:见证组件如何影响数据库可用性(数据库影射)
数据库镜像期间可能出现的故障
镜像状态 (SQL Server)