我已经使用高安全性,同步模式在SQL 2008中configuration了数据库镜像设置,但没有自动故障转移function。 我没有证人实例。
关于高可用性,我知道镜像是比日志传送更好的策略(更快更顺畅的故障转移),比群集(由于许可和硬件成本)便宜。
根据MS文档,要进行故障切换,您需要访问Principal数据库,并在“镜像”选项中单击“故障切换”button。 但是我想从Mirror数据库这样做,因为所有这些设置都是在Principal服务器崩溃的情况下完成的。
显然我错过了一些东西。 如果镜像不是服务器停机的解决scheme(如果我理解正确的话,就像集群一样),那么为了实现高可用性目的,哪些实际的(即真实世界的例子)案例将从镜像中受益呢?
非常感谢您的回应! 我真的需要一些启发。
简而言之,您必须在高安全性模式下从主体服务器激活镜像,而不会自动进行故障切换。
这种方法对计划中断和维护非常有用。 在灾难或计划外停机情况下,这并不是真正有益的,因为如果不访问主体服务器,则无法进行故障转移。
我使用运行MSSQL express的成本非常低的旧计算机作为监视器服务器。 它有Windows XP专业版。 我相信你可以find一台小电脑来执行监控服务器的任务。 一些可以满足MSSQL Express的最低要求的东西将会很好。
希望这可以帮助。
如果您的负责人出现故障,您可以强制镜像数据库在线,但是可能会丢失在委托人上提交的任何事务,而这些事务从未进入镜像。
ALTER DATABASE YourDatabaseName SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS
在镜像上运行该查询,数据库现在将成为新的(公开的)Principal。 一旦您以前的主体实例恢复在线,镜像将在两者之间中止。 您必须手动重新启用镜像,在这里您将看到由于上一个镜像恢复联机的方式而导致数据丢失的警告。