SqlServer 数据库发布订阅

最近因为项目要求,需要把之前实体机服务器中的项目发布部署到云服务器,因此购买了阿里云的ECS云服务器,为了项目可以平滑的过渡过去。决定把实体服务器中的数据库数据通过发布订阅,拷贝到云数据库中,从而达到不停机切换服务。具体操作步骤如下。
一、实体机服务器中的数据库 作为发布服务器
1.数据库发布订阅的时候,都必须使用实例名的方式登录数据库,不能采用IP 方式进行登录。
2.数据库订阅发布均需要打开数据库代理,没有打开数据库代理的,需要打开SQl Server 配置管理器,启用sql 代理服务。
3.如下图所示,在发布服务器A 中 右键发布,选择新建发布,选择需要发布的数据库,选择发布类型为事务发布,勾选要发布的对象。然后下一步
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4.在此处需要对快照代理设置下,如下图所示,此处我们选择在SQl Server代理账户下运行,并且通过登录名连接到发布服务器,输入正确的登录名和密码
在这里插入图片描述

在这里插入图片描述
5.继续下一步,输入发布的名称,那么我们的发布就建好了。刷新数据库,我们可以看到作业以及本地发布下边会出现刚刚新建的发布。右键选择代理作业,在属性中,选择合适的所有者,可以用登录名也可以使用内置账户,此处我们使用了内置账户,如下图所示:
在这里插入图片描述

6.启动作业
7.在本地发布中,右键发布选择属性,选择快照,不使用默认的方式,自定义一个快照的路径。
此处需要说明一下:因为发布服务器和订阅服务器不在一个局域网内,并且一个实体机一个云主机,不好设置文件夹共享,所以该路径可以在发布服务器上随意自定义一个位置就好,并且后边的订阅要采用推送方式订阅。
如果在同一个局域网内的话,订阅服务器的订阅模式优先采用请求订阅,因为请求订阅耗的服务器资源更少,并且该路径需要设置为共享文件夹,保证发布和订阅服务器都可以访问到

(简单来说就是:请求订阅耗资源少,但是需要保证快照存放的位置,发布和订阅服务器都可以共享访问;推送订阅模式下,没有这个要求)
在这里插入图片描述
8.因为发布服务器和订阅服务器不在一个局域网,所以需要在服务器host 文件中添加解析,输入订阅服务器的ip 地址,以及订阅服务器的Sqlserver登录实例名,保证发布服务器可以通过实例名登录订阅服务器中的数据库。
9.以上步骤完毕后,我们的发布服务器就配置好了。等待订阅服务器配置完成后,可以在发布服务器中,右键发布,启动快照,然后监视日志读取状态,如下所示
在这里插入图片描述
二、阿里云服务器中的数据库作为订阅服务器
1.在服务器的本地订阅中右键新建订阅,选择查找SqlServer 发布服务器,因为不在一个局域网,我们同样需要在订阅服务器的host 文件中添加解析,输入发布服务器的ip 地址以及发布服务器的Sqlserver登录实例名。
2.如下图所示,选择发布服务器中我们建好的发布
在这里插入图片描述
3.选择合适的订阅类型,如下图所示,此处我们选择推送订阅,方便管理,并且发布服务器的快照地址不需要共享,如果在同一个局域网,建议选择第二个请求订阅(说明下,推送订阅模式下,订阅服务器不再管理订阅,也看不到建好的订阅,需要到发布服务器上操作
在这里插入图片描述
4.和发布服务器类似,我们依然设置分发代理的账户名称,输入正确的可以连接发布服务器的登录用户名
在这里插入图片描述
在这里插入图片描述
5.确定下一步,我们就建好了订阅

三、建好发布订阅之后,在发布服务器上,启动代理,监控日志就可以看到分发的快照记录,等待一段时间,两边数据库的数据就会完全同步了。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值