SQLServer 数据库镜像+复制切换方案

2023-02-22 00:00:00 镜像 运行 脚本 同步 转移

目标:

      主机做了MirrorReplication,当主机出现问题时,ReplicationMirror实现自动的故障转移(Mirror Replication都切换到备机,而当主机

       重新启动后,自动充当备机的角色)。

 

环境:

          五台虚拟机,配置均为Windows2008 Enterprise + SQLServer2008R2 Enterprise

          08R201Mirror 见证机(WITNESS)           IP:192.168.56.101

          08R202:主机(Rep+Mirror                  IP:192.168.56.102

          08R203Rep分发机                               IP:192.168.56.103

          08R204Rep订阅机                               IP:192.168.56.104

          08R205:镜像机(Mirror                       IP:192.168.56.105

步骤:

配置有见证服务器的镜像

  1. 创建证书和Endpoint

     08R202(Master) 上运行下面的脚本:

      08R205(Mirror) 上运行下面的脚本:

      08R201(WITNESS上运行下面的脚本:

  1. 交换证书

     将HOST_B_cert.cerHOST_W_cert.cer拷贝到 08R202 机器的”D:Cert目录;

     将HOST_A_cert.cerHOST_W_cert.cer拷贝到 08R205 机器的”D:Cert目录;

     将HOST_A_cert.cerHOST_B_cert.cer拷贝到 08R201 机器的”D:Cert目录;

 

     08R202(Master) 上运行下面的脚本:

     08R205(Mirror) 上运行下面的脚本:

     08R201(WITNESS上运行下面的脚本:

  1. 备份还原数据库

     08R202(Master) 上备份数据库:

     将备份文件拷贝到 08R205(Mirror) 上做还原(好以SA帐号登录,使得数据库所有者为”SA“):

  1. 建立镜像

      在08R205(Mirror) 上执行:

     在 08R202(Master)上执行:

到此,镜像已经建立完成。

 

配置Replication(事务型复制)

     Replicaiton不做具体的搭建过程,只做几点说明:

     1.  08R20208R205都需要搭建到08R203Distribution

      

     2.  08R20208R205上的发布库的所有者必须为“SA,否则切换会出现如下错误:The process could not execute ‘sp_replcmds’ on ‘WIN-08R205′.

     3.  08R203分发机上配置文件需要做如下修改(配置故障转移Partner):

修改完成后,记得重启Agent服务,使之生效。

      4.  08R202创建到08R204的同步链。

 

模拟故障转移并观察结果

     1.  暂停08R202SQLServer服务;

     2.  到08R205上观察镜像和同步链是否转移过去了;

      

      3.  如果同步链正常,修改某个表中的数据,看是否能同步到08R204上;

      4.  重新启动08R202SQLServer服务,看其是否成为了镜像机;

      

       5.  如果一起都正常,那恭喜啦,我们的测试成功。


本文来源https://www.modb.pro/db/125392

相关文章