我将一个表从一个SQL Server 2008实例复制到另一个已经正常工作的表。我还想在SQL Server的目标实例上的复制表中设置一个字段,但我不确定是否允许这样做(即使它似乎有效)。
背后的原因:从服务器A到B的复制,服务器B上的行的处理,然后在处理行时设置(例如,诸如“已处理”的标志)。此信息在服务器A上不可用,只能在服务器B上设置。
更麻烦的方法是在服务器B上有一个单独的表,它必须在复制表中保留已经处理过的ID条目,但这可能不是必需的吗?
提前致谢
-G。
答案 0 :(得分:1)
使用事务复制时,默认情况下应将订阅服务器视为只读。这是因为如果在订阅服务器上更改了数据 - 无论是插入,更新还是删除 - 它不仅会导致数据一致性错误,而且重新初始化可能会将订阅者数据擦除为文章 @pre_creation_cmd 默认设置为删除。
如果您要更新订阅者的数据,我建议您使用Updatable Subscriptions for Transactional Replication,Peer to Peer Replication或Merge Replication。