每当为数据库镜像会话设置见证服务器时,都需要“仲裁”。 仲裁是数据库镜像会话中两个或多个服务器实例彼此连接时存在的一种关系。 仲裁通常包括三个互连的服务器实例。 设置见证服务器时,必须具有仲裁才能使用数据库。 仲裁旨在用于具有自动故障转移功能的高安全性模式,可确保一个数据库一次只属于一个伙伴。
如果特定的服务器实例与镜像会话断开连接,则该实例将失去仲裁。 如果没有连接任何服务器实例,则会话将失去仲裁,并无法使用数据库。 可以进行的仲裁有三种:
“完全仲裁”包含伙伴双方以及见证服务器。
“见证服务器-伙伴仲裁”包含见证服务器和一个伙伴。
“伙伴-伙伴仲裁”包含伙伴双方。
下图显示了这三种类型的仲裁。
只要当前的主体服务器具有仲裁,它就拥有主体服务器的角色并可继续操作数据库,除非数据库所有者执行手动故障转移。 如果主体服务器失去仲裁,它将停止操作数据库。 仅当主体服务器失去仲裁时,才会发生自动故障转移,这确保它不再操作数据库。
断开连接的服务器实例将保存其在会话中的最新角色。 通常,断开连接的服务器实例将在重新启动并重新获得仲裁时重新连接到会话。
重要提示
只有在需要使用具有自动故障转移功能的高安全性模式时,才应设置见证服务器。 在高性能模式下,由于从不需要见证服务器,因此极力建议将 WITNESS 属性设置为 OFF。 有关见证服务器如何影响高性能模式会话中数据库可用性的信息,请参阅异步数据库镜像(高性能模式)。
参考:仲裁服务器的作用,仲裁:见证服务器如何影响数据库可用性
标签:见证,数据库,可用性,实例,仲裁,服务器,伙伴 From: https://www.cnblogs.com/aspirant/p/16965330.html