SQL Server 2008中垂直过滤表(某些列)上的双向复制类型的解决方案是什么

时间:2012-04-11 07:00:16

标签: sql-server-2008 replication merge-replication transactional-replication

假设我们在两个数据库实例中有一个表,如下所示:

CREATE TABLE StudentList
(
     StudentId int NOT NULL PRIMARY KEY,
     StudentName nvarchar(255) NOT NULL,
     StudentGrade int
)

我们希望在第一列和第二列上的这两个SQL Server 2008实例之间创建双向复制(垂直过滤),而不用删除第二列中的第三列。

对等事务和合并复制不允许我们这样做。

解决方案是什么?

2 个答案:

答案 0 :(得分:1)

合并复制允许过滤文章以及您可以选择[CHECK / UNCHECK]要复制的列

尽量避免双向事务复制,因为此功能将在下一版本中删除:http://msdn.microsoft.com/en-us/library/ms151718.aspx

答案 1 :(得分:1)

@mirza - 已在订阅服务器上删除已过滤的列,因为您正在使用快照进行初始化,并且合并文章属性 @pre_creation_cmd 设置为删除。要完成垂直过滤而不在初始化时删除列,您需要initialize the Merge Subscription without a snapshot。这样,列不会在订阅服务器上删除。