什么可能导致镜像数据库都成为主体数据库?

我们在高可用性configuration中使用SQL Server 2005:1台主服务器,1台镜像服务器,1台见证服务器。 今天早上,我们发现在主服务器和镜像服务器上有几个数据库被列为主数据库,事务日志已经失控。

我的理解是,如果镜像服务器和见证服务器都同意他们不能连接到委托人,那么镜像数据库将只能转到委托人。 在发生这种情况之后,当他们再次连接到主体时,那里的数据库被标记为镜像。 过去我们有正确的数据库翻转,所以这让我们有点困惑。

什么可能导致主体和镜像服务器都认为他们有主体数据库?

这是一个没有答案,但也许正确的道路上,我一定要检查所有的服务器上的以下内容:

  • SQL服务器日志。 从SQL Management Studio:数据库服务器::pipe理:: SQL服务器日志
  • Windows事件日志

答案就像以下一系列事件:

  1. 主服务器不可用,因此镜像和见证形成仲裁并镜像启动故障切换成为主体
  2. 有人删除主体服务器上见证的定义
  3. 主服务器重新联机,无法与镜像进行通信,因此作为主体联机。 只有在没有证人的情况下才可以这样做,否则委托人知道它不能与镜子和证人交谈,并closures以避免你所看到的“裂脑”情况。

这可能发生在你的系统上吗?