没有主键的SQL Server上的事务复制

时间:2015-08-26 23:56:33

标签: sql-server transactional-replication

我们正在当前系统上实现快照复制 最近,系统要求我们应用“即时复制”(要求发布者和订阅者之间的文章之间的低延迟)

不幸的是,Publisher上的表没有主键(但它们有一些唯一索引)。 Publisher上的数据库不在我们的控制之下,这意味着我们不允许更改数据库的架构(添加主键或添加列)

我不能使用事务复制(由于无主键问题)或合并复制(由于Merge Replication会自动在我们的表上添加Guid列)

我想知道我是否有办法解决这个问题(我们在Subscriber上使用Publisher和Sql 2014 Web Edition上的Sql server 2012企业版)

1 个答案:

答案 0 :(得分:2)

在没有主键的情况下实现复制将为您提供合并复制的唯一选项。

正如您所正确提到的,合并复制将向所有表添加一个guid列,遗憾的是除非您添加缺少primary的Dummy主键列,否则无法使用它。

总而言之,如果复制是唯一选项并且您缺少主键,则Merge Replication是您可以实现的唯一复制类型。否则,请查看其他选项,例如日志传送或镜像。