sql-server如何搭建"主从复制(读写分离)"

什么概念这点就懒得再说了,老生常谈的问题,其它博主哪里也有,这点就不过多的讲解,直接进入正题,如何手把手搭建主从复制

一.sqlserver服务和工具的安装

需要你先安装sql-server数据库,以及操作数据库工具, 如果是已经安装过,但是没有安装复制组件的,选择创建发布提示没有安装复制对应组件.
如何进行补装: 打开任务面板->卸载->找到你的 Microsoft SQL-Server 2022(我这点是装的2022)->选择添加

image

然后选择你的sql-server安装文件夹,我的默认文件夹命名为 "SQL2022",选择 SQL2022->选择 Developer_CHS 文件确认

然后就会给你弹出之前安装sql-server的安装框,-> 选择向 sql-server添加功能

image

 按以上操作完成添加复制组件后, 我们开始后面的操作了

二.  将sql-server代理启动

image

三. 新建一个文件夹,用于存放快照文件(点击属性将此文件设置为共享-允许读取和写入)

四. 点击"复制"选择创建发布-> 遇到选择快照存放文件,就使用刚刚我们新建的文件地址

五. 选择需要数据库(你先发布那个就选择那个)

image

 六. 选择事务发布

七.勾选你需要的表

八. 这一步勾选上

image

 九. 点击安全设置

image

 

image

 点击确定

10. 这点取一个名称,等会订阅需要 -> 然后点击完成-> 到这一步发布就完成了

image

 11. 以上完成后,按如下操作,看是否会报错

image

 12. 如果报: "xxxxxxxxxx 的访问被拒绝

"举例: 怎么解决->对路径“E:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\ReplData\unc\DESKTOP-D8FFHD2_DBPROXY_DBPROXY\20250819102533\”的访问被拒绝。

说明我们之前设置用来存放快照的文件访问权限有问题

授予服务账户权限

  1. 打开资源管理器,导航到 E:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\

  2. 右键单击"ReplData"文件夹 → 属性 → "安全"选项卡

  3. 点击"编辑" → "添加" 如果没有编辑,需要先将此文件夹设置为共享,把读写权限放开

  4. 输入服务账户名称(如"NT Service\SQLSERVERAGENT")

  5. 授予"完全控制"权限

  6. 勾选"替换子容器和对象的所有者"

  7. 点击"应用" → "确定"

完成以上后,重新点击 "启动S"

13. 点击本地订阅,->选择新建订阅

14.选择我们刚完成发布后自定义的发布名称

image

 15. 这点我们先勾选,然后选择新建数据库

image

 16. 按如下操作

image

 

image

 17. 然后一直下一步即可

18. 以上全部完成后,我们就创建完成了一个主从复制

19. 怎么进行测试是否正常使用

第一步: 打开"从库"->打开"表" 看是否有主库的表, 如果表里面是空的,那么删除之前的操作内容,重新来过
第二步: 假设你从库已经有表了, 我们在主库中修改一个数据,然后在从库中查询看是否也跟着改变过来了
以上就是主从复制的全部内容了,

posted @ 2025-08-19 11:37  龙卷风吹毁停车场  阅读(83)  评论(0)    收藏  举报