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