×

Mssql主备见证的弊端及主备模式主down掉怎么恢复

hqy hqy 发表于2021-05-20 14:53:15 浏览1401 评论0

抢沙发发表评论

  mssql主备见证有个没有解决的问题,mssql的主备是针对单个库的,有时候单个或多个库主备切换了,但是整个主数据库并没有挂掉,并且还运行着其他的库,程序检测到的数据库连接是正常的,只是部分库连接不了,这个时候程序切换不过来,也不能切换,切换了部分还在主上的数据库也连接不了,除非是整个数据库连接不上或者关机了,这种情况数据库和程序同时切换才有意义。

后来我们就没有要见证了,只有主从,一直运行起,只是做一个数据备份。

程序的主备连接还是保留起,毕竟主从的情况,挂一台就是整体切换了。

  为了以防主数据库突然各种原因down了,这个时候备机数据库是不能读写的,备机显示(镜像,已断开连接/正在恢复)。我们要想办法恢复备机,而且最好是还能保持主备的模式,在主机起来的情况下还可以继续主备和切换回去。下面以A(主)B(备)来说明。

停止主机A的SQL SERVER 服务(比如断电),此时备机上的数据库会显示正在恢复状态,大概持续几十秒

此时,在B机上执行

use master;

alter database dataName set partner FORCE_SERVICE_ALLOW_DATA_LOSS

开始会显示(正在恢复),过几秒会显示(主体,已断开连接)

假如现在有业务往数据库里插也是能成功的

现在把原主机A恢复(通电),起来后A显示(镜像 挂起/正在恢复),B显示(主体 挂起)然后在B机里操作

use master;

alter database dbtest set partner resume;

如果A启动不了了,可以重新配置一台A机,在B机上取消镜像重新备份数据库和日志,然后到A机恢复重新设置镜像。期间B机可以继续提供服务,不影响镜像的建立。

此时A机是作为镜像的,B机是作为主机的,数据开始同步,如果要再切换一下,则再在B上执行下面的sql或者手动切换

use master;

alter database dbtest set partner failover;


 您阅读本篇文章共花了: 

打赏

本文链接:https://kinber.cn/post/1704.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

群贤毕至

访客