通过第七期与第八期的文章,我们了解了sql server 2005数据库的原理、实现方式以及sql server 2005在高可用、高性能与高保护模式下会有不同的数据库镜像状态,而且了解了sql server 2005在不同应用模式下故障转移的方式。接下来,我们将根据以下两类事件对数据库镜像预期的可用性进行分析:
【相关文章:SOA概念深入人心 实际应用渐入轨道】 【扩展阅读:Google Web Toolkit开发】一个或多个服务器或者数据库失败 【扩展信息:聚焦互联网创业风潮 Web 2.0另一个】 服务器之间一条或多条通信链路失败 一般来讲,服务器失败可能是由于某个镜像伙伴数据库或者某个sql server 2005实例不可用。此外,即使服务器本身可以继续运转,但是数据库镜像伙伴服务器之间的通信链路可能中断。以下场景中,两个组件的同时失败被视为一个组件紧接着另一个组件的顺序失败。例如,server a与b出现了同时失败,镜像系统将该事件视为一个顺序事件,顺序为server a失败然后server b失败,或者反过来。 使用下面的规则来判定一个不可用事件的预期结果: 1、 当safety设置为full时,主服务器需要至少一台其它服务器才能形成quorum来保持数据库可用。如果主服务器无法组成quorum,这时主服务器也就无法提供数据库服务了。 2、 当safety设置为full,如果镜像服务器与见证服务器都无法联系到主服务器,那么镜像服务器可以与见证服务器组成quorum,并且改变其角色,使之成为新的主服务器,这就是自动的故障转移。 3、 当safety设置为full,如果主服务器与见证服务器合作组成quorum,但是断开了与镜像服务器连接,那么主服务器失败将不允许镜像服务器与见证服务器组成quorum,也不允许镜像服务器承担主服务器的角色,这样可以防止所做的工作由于会话中断而丢失。 4、 当safety设置为full,如果失败的主服务器在停机或者孤立后重新加入会话,同时旧的服务器已经承担了主服务器的角色(与见证服务器组成quorum),那么旧的主服务器将在此次会话中承担新镜像服务器角色。 5、 当safety设置为full,并且会话中没有见证服务器,或者见证不知何故退出了会话,镜像伙伴服务器的失败将导致无法组成quorum,主服务器也因此不再保持主数据库可以使用。 高可用场景中服务器失败 高可用操作模式下的数据库镜像其目的就是尽可能增加数据库的可用性,在这种模式下,如果主数据库无法访问,那么数据库镜像将迅速使镜像数据库可以接受访问。在下面的高可用场景中,server a作为主服务器启动,server b是镜像服务器,而server w是见证服务器,如图所示: 所有这三台服务器可以在同一个站点使用局域网连接,也可以在不同的站点使用wan进行连接。server a与server b可以互换角色,但是server w始终作为见证服务器。 下面来看其中一台服务器出现故障产生的结果: ... 下一页