搭建的 (多对一 And 一对多) 的 复制场景(实现数据DML的同步) ,
单独的多对一或者一对多的场景当然是没有问题,但因为业务需求,对多对一的这个“一”数据进行 DML 操作后 再分别同步到 “多” 的操作比较复杂;
设计目的是为实现管理层对各不同服务器数据之间的操作(查看、审核),而避免登录各厂区服务器的不便。
实现步骤: (各厂区统一安装 SQL Server 10.00 Enterprise 版本)
1、对厂区数据库分别建立 “发布、分发”,管理数据库建立“订阅”
数据表统一建立,分别需要增加字段rowguid , comp_no(厂区标识)
2、在管理数据库分别以 comp_no 字段过滤条件建立 "发布,分发" ,分别在各厂区建立相应的"订阅"
复制中遇到的 错误代码
1、20598 —— “应用复制的命令时在订阅服务器上找不到该行”
解决方法:
第一种是使用“右键->复制->分发服务器属性->默认配置文件->然后新建一个新的配置文件,”这样子就可以让分发的所有复制都使用新的配置文件,一般用来 修改一些公共的参数。
第二种是打开复制监视器,然后双击你要修改的那个复制,在“操作”菜单下有个代理配置文件,打开它后新建一个配置文件,然后使用这个配置文件,这种方法 用来修改单个的复制的参数。
新建后修改-SkipErrors这一项,点“值”栏后输入刚刚查到的ID号,就是20598,点确定,然后勾上你刚刚新建的这个配置文件。
重启代理,打开复制监视器,你会发现它已经跳过了这个错误。
如果是对等数据复制的话,要慎用,因为可能导致两个数据库的数据不一致,请先查明原因,然后再决定是否要跳过这个错误。