SQLServer 2012镜像切换和故障转移脚本

首先需已经做好数据库镜像的前期准备工作,不懂的可以去看我的其他四篇文章:https://blog.csdn.net/qq_31776665/article/details/103822069

https://blog.csdn.net/qq_31776665/article/details/103822171

https://blog.csdn.net/qq_31776665/article/details/103822296

https://blog.csdn.net/qq_31776665/article/details/103822373

下面我说下增加镜像伙伴
IP:192.168.1.100  主机
IP:192.168.1.101  备机
1、增加镜像伙伴,需要先在备机上执行,再执行主机
--备机
ALTER DATABASE backupdatabase SET PARTNER = 'TCP://192.168.1.101:5022';
--主机
ALTER DATABASE backupdatabase SET PARTNER = 'TCP://192.168.1.100:5022';
执行成功以后,主机上数据库backuptest会显示主体正在同步字样,备机数据库会显示正在还原字样。若上述步骤
有报日志错误,则还需从主机上备份日志文件,然后在备机上还原,还原日志时同样需要指定norecovery。
2、镜像与主体切换
--主机
use master;
alter database backupdatabase set partner failover;
执行成功后原主体数据库会显示正在还原,备机数据库显示主体正在同步字样。
3、测试主备切换
主机崩溃,强制备机当主机,原主机恢复后再切换回去
主机:A
备机:B
此时,在B机上执行
use master;
alter database backuptest set partner FORCE_SERVICE_ALLOW_DATA_LOSS; --强制接收
当主机出现故障时(断电),使用此命令后,备机上的数据库会由显示正在恢复状态变成backupdatabase(主体,已断开链接),即现在的镜像B可以用来充当主机了,假如现在有业务往数据库里插也是能成功的。
现在把原主机A恢复(通电),然后在B机里操作
use master;
alter database backupdatabase set partner resume;
此时A机是作为镜像的,B机是作为主机的,要再切换一下,则再在B上执行
alter database backupdatabase set partner failover;

发布了3 篇原创文章 · 获赞 2 · 访问量 106

猜你喜欢

转载自blog.csdn.net/qq_31776665/article/details/103926149