数据库分库分表策略之MS-SQL读写分离方案

MS-SQL读写分离将从以下知识点进行展开:

以下截图内容来自博主:https://www.cnblogs.com/echosong/p/3603270.html

1.本地发布(写库如:centerdb)

2.本地订阅(查询库如:querydb)

具体操作流程如下:

1.本地发布

1.1.本地以SQL Server2008服务器为例

1.2.新建发布向导

1.3选择数据元位置

1.4.选择同步的数据库对象

1.5发布复制类型

1.6设置同步计划

1.7设置代理安全性

1.8发布完成取名字

2.本地订阅复制

2.1新建订阅向导

2.2搜索发布服务器去订阅

2.3由于上面发布的和分发的是同一台服务器所以选择推送订阅

2.4选择订阅接受的对象(也就是获取数据的数据库,上面发布了 test 库 pce_admin_info,这里用本机的test1来接受,同步时如果没有表会自动在test1库创建表)

2.5设置链接安全性

2.6后面一直默认点下一步,完成订阅

3.示例:

  同步上面步骤,把 A服务器的 test 库 的 pce_admin_info 表同步到 B服务器的 test1 ,在第一次执行订阅后自动创建了表,之后会根据计划设置同步的更新表pce_admin_info

4.注意事项
4.1无论是发布复制还是订阅服务 一定要在sql server安装的服务器本机操作,不能是远程连接操作

4.2将这个文件夹共享出来,然户用共享文件夹的UNC路径作为快照文件夹路径。这个文件夹要赋予SQL Server Service和Agent Service读写权限。

4.3sql server 另外一种镜像实现数据副本,镜像是只能主服务器读写,从服务器是不支持读写的,而复制是可以从服务器读 主服务器写。所以我们实现读写分离往往是通过数据库的复制来实现。

4.4UNC 可以做的网络驱动映射或者FTP连接

4.5再发布服务器设置订阅的时候 系统会提示使用计算机名,而在不同的网络内计算机名不可以直接访问,这个时候需要设置别名,别名要注意64 client 和32client都要加

5.扩展

同步复制的时候订阅服务器会生成相应的表的删除,修改,添加的存储过来来执行数据

左边的存储过程由右边的调用存储过程控制,选项可以选择其他的就不会生成存储过程

当我们业务需要 需要对存储过程进行修改,我们修改存储过程后,如果改变了源数据的结构,这个时候存储过程又会初始化,如果我们想让存储过程保持不变可以做以下修改

上面右图的true 改为false 就 ok

猜你喜欢

转载自www.cnblogs.com/cykj/p/database-table-strategy-mssql.html