mysql 分发订阅_MSSqlServer 发布/订阅配置(主从同步)

  • Post author:
  • Post category:mysql


背景:

1、单个独立数据库的吞吐量是有瓶颈的,那么如何解决这个瓶颈?

2、服务器直接数据如何复制、并具备一致性、可扩展性?

资源:

Quick Start 实战

微软官方教程查找:官方资源——复制——开发——设计和实现教程。里面还会涉及一些必要的安全设置。本文只对核心内容实操图文,暂且跳过。

配置分发服务器(发布服务器、源)

1、打开SQL Server服务器下的 【复制】 ——右击【本地发布】节点,选择【新建发布】

110b940e1b7e12381e0c36a3f22e5391.png

2、如果第一次设置会弹出【发布向导】对话框直接点下一步——进入下图设置【分发服务器】,

第一个是源发布服务器充当分发服务器,第二个将设置单独的分发服务器,不理解的可以看后文的原理,所以选第一个【下一步】

cf34aa0c9de8f871ede6e0a84bb94d8d.png

3、【启动SQL SERVER代理】的方式:【选择第一个自动】——【下一步】。

(正式环境建议选自动,测试可以手动方式。订阅/发布的基本原理还是要通过sql代理协助完成)

0280c0294fc241775f3ca29d27864158.png

对应的服务在这里设置:

5f46ea74cb752d10a3d2b797fafd8b03.png

4、出现【快照文件夹】对话框,(默认C盘需要做权限设置)这里我们设置到D盘随便新建一个文件夹ReplData——【下一步】。

(正式环境一般要配合Windows账户和权限设置文件夹这里暂部多述。另外需要知道的就是后文的发布类型初始化都是需要快照的)

1744162d8cac7571896919e9a176f07c.png

5、点击【下一步】,选中发布的数据库,我们选择 数据库DataSample,点击【下一步】

24b08cb9c0dd68722dc9b57546b6992a.png

6、选择【发布类型】,我们选择 【事务发布】——点击【下一步】。四个类型后面在详细说明适用场景。

91766c6e1368ede56434b81b0ad91706.png

7、选择需要发布给订阅端的对象:表、存储过程、视图等等,点击【下一步】:

62e6fc9949e5facb5f2de66df727c445.png

8、出现【筛选表行】对话框,点击【添加】:

a9b742e893d754d4dd788707335e697a.png

9、出现如下的筛选器对话框、可以设置不同的表发布需要的列。

(聪明的同学可能想到能不能以此完成对表的切割分布,留作思考)

不筛选,每个表所有字段全部同步,点击【取消】返回——【下一步】

f5baa86d60900f207337b3e8a68eefc4.png

10、,进入【快照代理】设置对话框,这里有两个选择一个是立即创建快照,一个是指定一个计划(比如可以指定xxx天xxx时间运行),我们选择第一个,点击【下一步】

d9631502d8eaa5e489152a61aeeab26b.png

11、【代理的安全性】——点击【安全性设置】

fe0dceec851bc618b3033fb5ebd2d355.png

12、选择 SQL SERVER 用户,填写数据库连接账户——点击【确定】——返回后点击【下一步】:

80d73d8fed9f44d606ff0bbcba62f1bd.png

13、勾选【创建发布】 ——继续【下一步】:

5bc2b65a0c832df64f4ac055aed742fa.png

14、我们给发布进行命名为:“DataSample_Publisher” ,点击【下一步】:

dd36b1626d3e4b5d40b611dc2b4ca2bf.png

15、运行创建发布,并会显示创建发布的结果(最后一个可以手动设置,方法见上文),点击【关闭】:

597f964731db18b677bd8ec32348a638.png

设置为手动的, 验证成功:右键查看快照状态,每次点击启动会创建一个快照。点击复制监视器,可以看到有没有报错

76869cb1a8899c538a7cd05cacf12c94.png

订阅服务器(分布的从服务器、目标)

1、打开SQL——【复制】——右键【本地订阅】——如果是第一次会弹出向导,直接【下一步】,如下图,选择我们刚配置的发布服务器,下一步

036215a73a89483b554f2c51546044e9.png

2、演示本机,选择第一个——下一步

推送订阅会加重主服务器的负担,请求订阅则会加重订阅服务器的负担

037c7fc0a57c7ca13b6853be36a74e74.png

3、勾选发布源、后面设置 本地 订阅存储数据库B——下一步

d799d7adaa42dec86e93795584a8956b.png

4、点击“…”,弹出账户设置图,输入好账户——确定——下一步

32eadf5fb720c6094d045e5e558a1978.png

717b0622eb603df80c3d5e29be05bbd7.png

5、下一步

a316c71c7a57be9b7150bbe08aeacb6d.png

6、下一步

9c8892ce598b43846e2bfdaccc083ce4.png

7、下一步——下一步——完成

b13b571b08c4ac638316fe0b8743e0e6.png

验证

打开源数据库、插入数据。然后打开订阅数据库查询,看源数据库的数据是否也同步到了订阅数据库:

INSERT INTO [dbo].[Product]([Name],[Price],[CreateTime])VALUES(‘测试测试’,18.02,GETDATE())



版权声明:本文为weixin_33702545原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。