MSSQL 发布订阅,实现读写分离
主库做增删改,从库只读。
大部分的数据库压力,都是由查询引起的,读写分离可以减轻数据库的压力。
1、在(主)数据库上对需要同步的数据进行发布。
2、在(从)数据库上对(主)数据库的发布进行订阅。
注:发布订阅都需要实际的服务器名称才能连接到服务器。
--查询服务器的名称和实际计算机的名称,如果两者不一致,就需要修改。
use master
go
select @@servername;
select serverproperty('servername')
-- 将"服务器名", 修改为正确的计算机名
EXEC sp_dropserver 'aaaaa'; -- 原服务器名
GO
EXEC sp_addserver 'aaaaa', 'local'; -- 新服务器名
接下来介绍发布订阅,具体流程如下:
第一步:本地发布
正如上面所说,发布订阅都需要实际的服务器名称才能连接到服务器。
切换服务器名称重新登录。查询服务器的名称,方法如上述所示。
1、继续点击新建发布,这时候就不会提示需要实际的服务器名称才能连接到服务器。
2、将SQL Server代理服务配置为自动启动,然后下一步
3、指向路径,然后下一步
4、选择数据库
5、选择发布类型。这里选择【快照发布】。几种发布类型的区别,SQL SERVER都给出了说明
6、选择待发布的内容,然后下一步。
7、不需要过滤其他内容的,继续下一步
8、设置代理,选择同步时间。MSSQL 发布订阅有自动同步的,这里的同步是用于有数据遗漏没有同步成功的,做二次检测,继续同步。如果数据量大的话,尽量选择深夜时间进行同步。
同步时间:
点击确定,然后下一步
9、设置代理安全性
点击确定,然后下一步
下一步
10、填写发布名称
11、完成发布。
出现了一点小插曲,这个是因为我们的Sql Server 的代理服务没有启动,点击启动即可。
这时候右键你发布的快照,点击查看快照代理状态,然后点击启动,这时候就算是发布成功了~
第二步:本地订阅
选择快照,新建订阅
1、新建订阅,选择SQL Server发布服务器
2、选择分发代理的位置
3、添加订阅服务器
4、设置分发代理的安全性
5、同步计划
6、完成订阅
这样就算完成了发布和订阅的整体流程了~~