我刚刚碰到一些令人不安的是,我试图从数据库中,其设计是不在我们的控制下实现事务复制。这是复制,以在没有系统过多征税执行报告。在试图复制只是某些表的去跨越。

在调查表中没有选择要复制的,因为他们没有一个主键,我认为它甚至显示为一个主键,如果我使用ODBC和MS Access但不是在管理工作室,这不可能是。另外,查询不可笑慢。

我试图插入一个重复的记录,但是失败说关于唯一索引(而不是主键)。似乎是表已被使用唯一的索引作为反对主键实现。为什么我不知道我会尖叫。

反正有执行事务复制或替代,它需要活(最后两分钟)。主数据库服务器是目前SQL 2000 SP3a中和报表服务器2005年。

目前我已经想到了尝试是设置复制,就好像它是另一种类型的数据库的唯一的事情。我相信,复制说甲骨文可能将这种力量运用的说,一个ODBC驱动程序,就像我认为访问是使用显示,因此主键。我不知道这是否是正确的我的深入这一点。

有帮助吗?

解决方案

作为MSDN 状态的,它不可能创建事务上没有主键的表复制。你可以使用合并复制(单程),不需要主键,它会自动创建一个rowguid柱如果它不存在它:

  

合并复制使用全球   唯一标识符(GUID)柱,以   在合并过程中识别每一行   复制过程。如果已发布   表没有唯一标识符   与ROWGUIDCOL属性列   和唯一索引,复制增加   一。确保所有的SELECT和INSERT   语句引用发布   表使用的列清单。如果一个表   不再发布和复制   添加的列,该列是   删除;如果列已   存在的,它不会被删除。

不幸的是,你会如果使用合并复制有性能损失。

如果你需要使用复制对于报告而已,你并不需要的数据是完全一样的发布者,那么你可以考虑快照复制还

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top