Sql Server数据库读写分离配置

2

主题

6

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2022-12-28 14:31:21 | 显示全部楼层
准备条件:
1,准备两个服务器,一主一从服务器,两台服务器上分别安装相同的sql Server数据库
2,使用服务器名称登录数据库,不清楚服务器名称的使用下边语句查询
--获取服务器名
select @@servername



3,准备一个主库,这里假如主库数据库名字为:Customer,里边有一张Users表



4,在从库服务器上创建一个空数据库(只读库):Customerread1,里边什么内容也不要创建,所有内容都由主库推送。



5,打开主库上的sql Server配置服务,把sql Server代理服务设置成自动,并且启动,我这里是全部都是启动的



6,如果主库服务器的防火墙是开着的,还要添加一下入站规则(1433端口)
下边开始进入正题:
1,配置分发服务器,在主服务器上操作
在此之前,需要先在主服务器所在的计算机上创建一个共享文件夹,下边要用来充当快照地址,
D盘(或其他盘)-->新建文件夹-->属性-->共享-->这里共享用户设置的为 Administrator



同时要设置 sql Server代理服务的访问账户也要是:Administrator,否则到时候会因为访问权限问题导致发布失败!
我这里设置的为这台电脑的登录账户密码!



接下来正式开始:



将自己本身充当分发服务器



这一步默认即可



快照地址就是上边创建的共享文件夹地址



将分发数据库名称加了个日期,可以自定义



默认下一步









最后遇到一个错误,下图所示,意思是需要将 sql代理服务设置成自动启动
如下设置,将代理设置成自动启动即可。
2,本地发布
点击 本地发布-->新建发布
选择主库:Customer



选择--》事务发布

  • 快照发布:隔一段时间会覆盖订阅服务器的数据库,在订阅服务器上做的修改同样被覆盖;
  • 事务发布:是一种接近实时地从源到目标分发数据的方法;
  • 具有可更新订阅的事务发布:订阅服务器可更新发布服务器的数据;
  • 合并发布:发布服务器和订阅服务器的更新都会同步到对方,注意ID在合并发布上的冲突



选择要同步的表,这里只有一张 Users表



默认下一步



选择,立即创建快照



配置-->安全设置









名字随便起






刷新数据库,即可看见生成一个发布文件



3,推送订阅
选择 publish-20200303这个发布文件,右键-->新建订阅
(只要从库服务器足够多的,这里可以无限制的创建推送订阅,想要几个只读库就创建几个,哈哈)



默认下一步



因为是在主库上创建,这里选择~~推送订阅



默认显示本地的服务器,这里需要添加另一台服务器



注意:这里使用另一台服务器的,服务器名称链接
选择事先创建的一个空数据库:CustomerRead1



设置服务器链接






默认即可,下一步












成功之后,你会发现发布服务下多了一个服务



选择发布服务-->启动复制监视,可以查看数据同步日志



这时候,我们看到另一台服务器上的只读库已经成功同步过来数据!



这时候我们新增一条数据,看下效果!
数据基本上1s左右就同步过来了



作者:PeterZhang
出处:https://www.cnblogs.com/peterzhang123

版权声明:本文来源于网友收集或网友提供,仅供学习交流之用,如果有侵权,请转告版主或者留言,本公众号立即删除
<hr/>
关注公众号:DotNet开发跳槽觉得不错,请点个在看呀
回复

举报 使用道具

您需要登录后才可以回帖 登录 | 立即注册
快速回复 返回顶部 返回列表