配置SqlServer数据库读写分离

一、在VMware Workstation建立了2台WindowsServer2012服务器。

        分别修改计算机名称为Node1和Node2。这里不建议采用复制硬盘的方式来做虚拟机,老老实实一台台安装。安装完成之后,每台虚拟机都安装sqlserver2017数据库实例。确定2台虚拟机通讯正常。

           

服务器信息
计算机名称 Sql实例名称 ip 说明
Node1 Node1 192.168.137.128 主数据库服务器
Node2 Node2 192.168.137.129 从数据库服务器

二、 创建共享文件夹

在Node1C盘根目录创建sqlShared文件夹*(这个可以随便配置)。

给该文件夹设置Everyone权限。

设置该文件夹为共享文件夹,并确定Node2可以通过网络路径(\\NODE1\sqlShared)访问到。

三、开启SQLServer代理。

1、首先在Node1和Node2服务器上分别创建2个相同的Windows账户(用户名和密码都一样),并设置账户类型为管理员。我这里叫sxy。

2、在SQLServerConfigurationManager中SQL Server服务中右键点击SQL Server代理,选择属性。

3、进入属性对话框后选择浏览,将用户选择为sxy,然后手动输入sxy配置的密码。

 

4、配置完成后启动代理服务,并在Windows服务中,将SQLServer代理服务启动类型设置为自动。2台服务器都要进行此操作。

 

四、配置分发

1、在数据库实例中右键点击复制选择配置分发。

 2、将当前实例选择为分发服务器、

3、指定快照文件夹,用第二步创建的共享文件夹的网络地址\\NODE1\sqlShared

4、配置分发数据库,数据库名称按照系统生成名称来,不建议修改。

分发数据库文件的文件夹和日志文件夹建议修改到较大的磁盘下。

 5、剩下的步骤全部点击下一步可以了。

 6、配置完成之后,右键点击复制可以看到菜单多了发布服务器属性和分发服务器属性。

五、发布数据订阅 

1、在复制→本地发布,右键点击选择新建发布。

2、选择分发发布数据库,这里我们选择WTM帮我们生成的数据库

 3、选择发布类型,我们这里选择事务发布

4、选择要发布的对象,这里我们把所有的表都勾选(如果有别的也勾选)。

 

5、筛选表行,直接下一步就可以了

 

6、快照代理设置,选择立即创建快照。

 

7、对代理进行安全设置

 7.1、选择在sqlserver代理服务账户下运行,并配置使用以下sql server登录名

这里使用登录名是sa 密码是当前实例的密码

8、向导操作,选择创建发布,直接下一步

 

9、填写发布名称,完成发布

 

10、查看发布

 

六、接收订阅 

1、在Node2服务器sqlserver实例中,复制→本地订阅右键选择新建订阅

2、在发布中选择查找服务器。

3、在弹出的连接对话框中,输入Node1计算机的数据库实例名称,账户和密码。(注意:这里不要输入ip地址连接。但是前提是,在Node2SSMS中利用ip地址是可以成功连接Node1的数据库实例)

4、连接成功后,选择node1发布的订阅数据库和名称。

 

5、发布代理位置中选择第二项,由node2服务器主动请求订阅,减轻node1的压力。(第一个是node1服务器主动推送)

 

6、 选择node2的同步数据库,如果事先没建数据库,可以在这里新建一个。

7、设置分发代理安全性。 

选择在sqlserver代理服务账户下运行,并配置使用以下sql server登录名

这里使用登录名是sa 密码是当前实例的密码

8、剩下的步骤全部下一步就可以了。订阅完成之后,刷新查看。复制→本地订阅

9、展开指定的node2同步数据库zxcl,查看是否完成同步(建议30秒左右查看,第一同步较慢)。

10、如果同步不正常,到node1数据库实例中,复制→本地发布→订阅名称右键点击选择启动复制监视器,查看同步情况

11、根据报错信息,自行修改问题。

 

12、完成主从复制。 

猜你喜欢

转载自blog.csdn.net/sxy_student/article/details/106879929