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个从库也自动删除数据。

            修改从库的数据,主库不会自动更新。

结果:主库增删改,从库会自动更新。从库增删改,主库不会自动更新。

问题:读写分离,对于我们写程序而言,增删改需要找主库,查询需要找从库,程序代码就很麻烦啦。

 

posted @ 2023-01-10 15:41  包子789654  阅读(300)  评论(0编辑  收藏  举报