我们在高可用性配置中使用 SQL Server 2005:1 个主服务器、1 个镜像服务器、1 个见证服务器。今天早上我们发现,主服务器和镜像服务器上都有几个数据库被列为主数据库,并且事务日志已经失控。
我的理解是,只有当镜像服务器和见证服务器都同意无法连接到主服务器时,镜像数据库才会切换到主服务器。发生这种情况后,当它们可以再次连接到主服务器时,那里的数据库将被标记为镜像。我们过去曾正确切换过数据库,所以这让我们有点困惑。
什么原因导致主体服务器和镜像服务器都认为它们拥有主体数据库?
答案1
这有点像非答案,但为了走上正确的道路,我一定会在所有服务器上检查以下内容:
- SQL 服务器日志。来自 SQL Management Studio:数据库服务器 :: 管理 :: SQL 服务器日志
- Windows 事件日志
答案2
答案类似于以下一系列事件:
- 主服务器不可用,因此镜像和见证服务器形成仲裁,并且镜像启动故障转移以成为主服务器
- 有人删除了主服务器上见证人的定义
- 主服务器重新上线,无法与镜像服务器通信,因此作为主服务器上线。这只有在未定义见证服务器时才有可能,否则主服务器知道它无法与镜像服务器和见证服务器通信,因此会关闭以避免您看到的“裂脑”情况。
这有可能发生在你的系统上吗?