validationSQL Server镜像故障切换是否成功

我们将数据库镜像configuration为23个数据库上的“无自动故障切换的高安全性”。 这两个合作伙伴包含主体和镜像数据 我创build了两个脚本,可以使用graceful或者强制切换来镜像或者主体的故障切换。

我将如何检查数据库,以确保他们在线和stream量正在redirect? 我正试图保留所有的T-SQL,并希望能够添加一些东西,我已经创build将运行检查的脚本。

如果你正在尝试在T-SQL中做到这一点,那就意味着通过一个单独的SQL Server进行连接。 我猜你正在运行一组来自不同的第三台服务器的监控脚本来观察其他两台服务器。 在这种情况下,您可以设置一对连接的服务器或使用OPENROWSET命令来即时查询服务器。 尝试一台服务器,然后尝试另一台服务器,如果连接了一台服务器,就可以开始工作。

这有几个问题 – 首先,当主服务器closures时,监控脚本将挂​​起30秒。 他们会等待超时,在那段时间内,你没有做任何监控。 因此,我build议使用T-SQL以外的东西进行监控。 有一堆multithreading的警报系统,你可以像ServersAlive一样,一次检查多个服务器。

第二个问题是,你说“stream量正在重新定向”。 我想确保你了解镜像是如何工作的 – 它不会自动redirect查询。 镜像的大脑位于客户端的连接string中,该string必须包含主服务器名称和辅助服务器名称。 无论stream量是否故障转移到第二台服务器,客户端都可以从中心点监控每台客户端。 (好吧,你可以查询第二台服务器上的DMV,并validation每个预期的客户端是否连接,但是在每个需要同时连接的客户端上赌博。)