SQL Server 2012主从数据库的订阅和发布,实现数据库读写分离(主从备份)
学习:https://www.bilibili.com/video/BV13B4y1h7Wu?p=12&spm_id_from=pageDriver&vd_source=3f21d2e208ef0bf2c49a9be7560735e5
学习:https://www.cnblogs.com/sdadx/p/6418871.html
学习:https://blog.csdn.net/songjuntao8/article/details/119942226
背景:
在实际应用项目开发中,应用数据基本上都存储在数据库中,针对数据库的操作有增删改查操作。
有时为了解决并发大数据访问问题,我们需要使用数据库读写分离,主库用来实现应用数据的增删改操作,而从数据库主要用来进行查询操作
一个主库:写操作服务器
多个从库:查询操作的服务器--承载80%的查询动作--查询动作由多个服务器来支撑--做到了负载均衡。
写库必然需要把操作同步到查询库中:
增删改:主控
查询库:从库
一主多从
数据如何复制,采用的是数据库日志(对于每一个操作都有1个记录)
1,数据同步有延迟,有办法解决的。
2,多个数据库之间,表结构,数据库输出的量都是一样的。
1,删除发布和订阅
如果之前配置过了,需要先删除
1、删除单个的发布 : 复制--> 本地发布--> 右击--> 删除,然后再把对应的订阅服务器删除掉
2、删除全部的发布: 复制--> 右击 --> 禁用发布和分发,这个会同时的把分发服务器的配置清掉,需要重新配置的哦
参考:https://www.cnblogs.com/zerocc/p/3200714.html
2,配置分发
准备工作:
【2.1】启动数据库的服务引擎(默认都是开启的)
【2.2】在开始菜单中找到Sql Server Configuration Manger页面配置,手动启动
【2.3】SQLServer要用本机名登录,不能Localhost
【2.4】布置分发
【2.5】快照地址这个文件夹要设置共享,不要方C盘。
【2.6】配置完成后,这个文件夹多了2个文件
3,发布
把某个数据库发布出去,你可以订阅我
把主库发布出去,从库可以订阅
【3.1】
【3.2】出现警告:无法启动快照代理,快照文件夹里面也没有多出来文件。
【3.3】在服务中把这个代理服务打开
【3.4】删除没成功的发布,重新执行3.1的步骤,就全部发布成功了。
【3.4】发布成功后,会多出unc这个文件夹
4,订阅
【4.1】
【4.2】从库中有主库的数据了
【4.3】重复4.1,再新建一个从站,实现一主两从
5,测试
【5.1】主库新增一条数据,2个从库也会自动同步更新。
主库删除数,2个从库也自动删除数据。
修改从库的数据,主库不会自动更新。
结果:主库增删改,从库会自动更新。从库增删改,主库不会自动更新。
问题:读写分离,对于我们写程序而言,增删改需要找主库,查询需要找从库,程序代码就很麻烦啦。