1

复制相关问题,复制相关问题,

我正在解释我的架构。

我已经创建,其transactinal复制过程

  1. 2台发布供应商下面的脚本我已经给了,
  2. 经销商
  3. 2订户

数据复制设置的像这样:

表供应商通过分销商从2个发布者复制到2个订阅者。

虽然复制,在经销商数据库发出错误为:

这里,什么是必须发生的是

PUB1(创建酒吧桌供应商) - >插件(供应商)的数据分发。 - >订户拉

现在发生的事情对我来说是,

PUB1(创建酒吧桌供应商,完成) - >在经销商数据库抛出的错误作为

复制复制分发子系统:代理abc-serv1 \ PRD01-star-star Billing-PROD-VREPL1 \ REPL01-25失败。 违反PRIMARY KEY约束'PK_vendors'。无法在对象'dbo.vendors'中插入重复键。

在发布者与分发者之间完成操作时发生错误。

回答

0

使用事务复制时,发布服务器上的主键必须在订阅服务器上进行维护。听起来好像在订阅服务器上已经存在具有给定密钥值的记录。

从您的拓扑描述中您有两个单独的出版物。

所以:

  • 认购人接受公开1
  • 用户2接收文献2

是否有交叉,即可以用户2也接收出版1.如果是这样,那么你会遇到主键冲突,除非您管理两个发布者上的键范围或使用替代复制技术,例如合并复制。

+0

没有交叉,并且订户没有条目,在分发过程本身它会抛出错误。主要目标是我有一个名为ABC_tab_repilca的表,它作为身份,PK值必须通过事务复制副本复制,我的环境必须如我指定的,2 pub - 2 sub使用分布数据库,表ABC_table_replica中的任何操作必须从pub-1到sub-1和pub2到sub-2。发生的问题是为PUB = 1创建发布,并在分发中创建,再次分配PUB = 1条目输入,这可能会引发PK违例错误。 – Dhiva 2010-06-29 10:54:17

+0

我需要的是表名:ABC_tab_replica - 包含记录它具有PK,标识值: 1. PUB = 2这个表被用于ABC_tab_replica 事务方法创建,通过分布式数据库 2. SUB = 2这个表创建ABC_tab_replica ABC_tab_replica表必须包含主数据库和复制数据库中的数据同步 – Dhiva 2010-06-29 11:00:57