MSSQL 发布订阅,实现读写分离

主库做增删改,从库只读。

大部分的数据库压力,都是由查询引起的,读写分离可以减轻数据库的压力。

1、在(主)数据库上对需要同步的数据进行发布。

2、在(从)数据库上对(主)数据库的发布进行订阅。

注:发布订阅都需要实际的服务器名称才能连接到服务器。

--查询服务器的名称和实际计算机的名称,如果两者不一致,就需要修改。

use master
go
select @@servername;
select serverproperty('servername')

-- 将"服务器名", 修改为正确的计算机名
EXEC sp_dropserver 'aaaaa';           -- 原服务器名
GO
EXEC sp_addserver 'aaaaa', 'local'; -- 新服务器名

接下来介绍发布订阅,具体流程如下:

第一步:本地发布

MSSQL 发布订阅,实现读写分离

MSSQL 发布订阅,实现读写分离

正如上面所说,发布订阅都需要实际的服务器名称才能连接到服务器。

切换服务器名称重新登录。查询服务器的名称,方法如上述所示。

MSSQL 发布订阅,实现读写分离

MSSQL 发布订阅,实现读写分离

1、继续点击新建发布,这时候就不会提示需要实际的服务器名称才能连接到服务器。

MSSQL 发布订阅,实现读写分离

2、将SQL Server代理服务配置为自动启动,然后下一步

MSSQL 发布订阅,实现读写分离

3、指向路径,然后下一步

MSSQL 发布订阅,实现读写分离

4、选择数据库

MSSQL 发布订阅,实现读写分离

5、选择发布类型。这里选择【快照发布】。几种发布类型的区别,SQL SERVER都给出了说明

MSSQL 发布订阅,实现读写分离

6、选择待发布的内容,然后下一步。

MSSQL 发布订阅,实现读写分离

7、不需要过滤其他内容的,继续下一步

 

MSSQL 发布订阅,实现读写分离

8、设置代理,选择同步时间。MSSQL 发布订阅有自动同步的,这里的同步是用于有数据遗漏没有同步成功的,做二次检测,继续同步。如果数据量大的话,尽量选择深夜时间进行同步。

MSSQL 发布订阅,实现读写分离

同步时间:

MSSQL 发布订阅,实现读写分离

点击确定,然后下一步

9、设置代理安全性

MSSQL 发布订阅,实现读写分离

MSSQL 发布订阅,实现读写分离

点击确定,然后下一步

MSSQL 发布订阅,实现读写分离

下一步

MSSQL 发布订阅,实现读写分离

10、填写发布名称

MSSQL 发布订阅,实现读写分离

11、完成发布。

MSSQL 发布订阅,实现读写分离

出现了一点小插曲,这个是因为我们的Sql Server 的代理服务没有启动,点击启动即可。

MSSQL 发布订阅,实现读写分离

这时候右键你发布的快照,点击查看快照代理状态,然后点击启动,这时候就算是发布成功了~

MSSQL 发布订阅,实现读写分离

MSSQL 发布订阅,实现读写分离

第二步:本地订阅

选择快照,新建订阅

1、新建订阅,选择SQL Server发布服务器

MSSQL 发布订阅,实现读写分离

MSSQL 发布订阅,实现读写分离

 

2、选择分发代理的位置

MSSQL 发布订阅,实现读写分离

3、添加订阅服务器

MSSQL 发布订阅,实现读写分离

MSSQL 发布订阅,实现读写分离

MSSQL 发布订阅,实现读写分离

4、设置分发代理的安全性

MSSQL 发布订阅,实现读写分离

5、同步计划

MSSQL 发布订阅,实现读写分离

MSSQL 发布订阅,实现读写分离

MSSQL 发布订阅,实现读写分离

6、完成订阅

MSSQL 发布订阅,实现读写分离

这样就算完成了发布和订阅的整体流程了~~