SqlServer中配置读写分离

Posted 木白星枝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SqlServer中配置读写分离相关的知识,希望对你有一定的参考价值。

一.

1.先决条件

(1)首先必须要有一个主库,从库可以现在建,也可以在新建订阅向导的时候建。

 (2)服务器电脑中服务的配置

2.配置分发

如果是远程服务器,一定要用mstsc登录远程服务器内,在服务器中的SSMS中操作,且需用sa账户登录

(1)右键【复制】,点击【配置分发】(如果没有配置分发,请看后面·5.删除配置)

 

(2)点击下一步 

 这个分发服务器 可以选其他电脑  我暂时有只有一台电脑 选自己就好了

(3)点击下一步 

 

(4) 这里需要配置一个快照文件夹

快照文件夹 是几个数据库 都要能够访问的文件夹,正常情况是 每个数据库都在同一个局域网的不同的电脑上。所以这个文件夹 不要用C盘的文件(如果只有一个C盘那也没办法)  以防 权限不够 。所以要几台电脑都可以访问 就设置一个共享文件夹,文件夹的权限给大一点儿。

参考链接:设置共享文件夹_木白星枝的博客-CSDN博客

(5)选择对应的文件夹后,点击下一步

 (6)点击下一步...

 

 (7)点击【完成】

(8)配置成功 

 

 如果没有配置成功,需要查看文件夹和代理服务

上图就是没有将SqlServer代理设为自动启动,并且启动它。 

右键【复制】,如果有【发布服务器属性】,说明配置成功。

3.新建发布

(1)右键【复制】,点击【新建发布】

如果弹出下面这个框图,说明,你是在自己的电脑用SSMS远程连接的远程服务器,并且上面的操作是在你自己的电脑上用的,因为这个服务器内的ip地址和服务器外的公网ip地址是不一样的,所以他这里会显示让他的外网地址作为服务器启用。

正确的操作是:我们用mstsc连接到远程服务器内,在其远程服务器本地中进行配置分发操作。

 (2)点击【下一步】

  (3)选择发布数据库,然后点击【下一步】

 

(4)选择事务发布

 

发布类型参考:事务复制的发布类型 | Microsoft Docs

(5)如果库中没有含有主键的表会报错,需要去数据库中建含有主键的表,

然后勾选全部的表,然后点击【下一步】

 

(6)筛选,来选择哪些字段发布,哪些字段不发布,我们默认全部就好,点击【下一步】

 

 (7)勾选第一个框,然后点击【下一步】

 (8)点击【安全设置】

 

  (8)然后选择代理服务账户,且输入SqlServer账户和密码,如下,然后点击【确定】

 (9)【安全设置】完后然后点击【下一步】

 (10)如下,然后点击【下一步】

 (11)填写发布名称,点击【完成】

 (12)新建发布成功

4.新建订阅

(1)右键【本地订阅】,点击【新建订阅】

(2) 点击【下一步】

(3) 选择对应的发布,然后点击【下一步】(也可以直接右键对应的发布,进行订阅)

 (4)选择第一个, 点击【下一步】

 (5)然后勾选订阅服务器,选择从库, 然后点击【下一步】

(6)也可以直接在这里新建数据库

 输入数据库名,然后点击确定生成

  然后点击【下一步】

 (7)如下,点击...进行配置

 (8)然后按照下图,进行配置,输入数据库的账号和密码,点击【确定】

 (9)配置好后,点击【下一步】 ,点击【下一步】 ,点击【下一步】 ,点击【下一步】 

  (10)然后点击【完成】,点击【完成】

  (11)然后创建完成。

 同步有延迟,从表的结构和数据都是从主表复制过来的

对主表进行修改会自动同步到从表,但是对从表进行修改,不会同步到主表。

5.删除发布配置

(1)右键【复制】,点击【禁用发布和分发】

 

(2)点击是,然后点击【下一步】

可能没有这个,直接跳到下一个图,然后点击【下一步】

(3)点击【下一步】

 

(3)然后点击【完成】

 

(4)禁用成功

 

(5)禁用不成功

点击关闭,看看有哪些窗口啥的没有关闭的给关掉,看看2个文件夹下的内容能不能删掉,如果右键【复制】,还能【禁用发布和分发】,说明没删掉,继续删。

在真实的生产环境中,这几个服务器需要在同一个局域网内,本地即作为发布服务器也作为订阅服务器

以上是关于SqlServer中配置读写分离的主要内容,如果未能解决你的问题,请参考以下文章

Sqlserver读写分离(主从备份)

ClickHouse 读写分离方案

SQL Server AlwaysOn读写分离配置

SQL Server AlwaysON读写分离配置

Sql Server Always On 读写分离配置方法

MyCat安装及配置读写分离