向事务复制添加新文章会在订阅者处产生错误

时间:2010-10-05 11:34:40

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

我有一个可更新的事务复制集与SQL Server 2008.一切正常。我通过sp_addarticle向sp_addsubscription添加了一个新表到现有发布。之后我运行了快照代理。仅为新添加的表生成快照。因此,新表已成功复制到订阅者。我甚至可以将新插入的记录复制到订阅者的新表中。但反之亦然是不可能的。当我将记录插入订户数据库中的新表时,我收到错误

*Msg 515 'Cannot insert the value NULL into column 'msrepl_tran_version',
 table Servername.dbo.Tablename'; column does not allow nulls. INSERT fails.'*.

请帮我解决此问题。

非常感谢提前。集塔

1 个答案:

答案 0 :(得分:0)

是否可重现错误?订户是否配置为立即更新?在立即更新订户的情况下,只要发布者(或网络)不可用,事务就会失败。

检查并更改(如果没有)您的表,以便ms_repl_tran_version默认为GUID:

  

ALTER TABLE [dbo]。[TableName] ADD   CONSTRAINT [DFLT_GUID_msrepl] DEFAULT(newid())FOR   [msrepl_tran_version]