Sql 将新项目添加到事务性复制会在订阅服务器上出错

Sql 将新项目添加到事务性复制会在订阅服务器上出错,sql,sql-server-2008,transactional-replication,Sql,Sql Server 2008,Transactional Replication,我有一个SQL Server 2008的可更新事务复制集。一切正常。我通过sp_addarticle和sp_addsubscription向现有发布添加了一个新表。之后,我运行了快照代理。仅为新添加的表生成了快照。因此,新表已成功复制到订阅服务器。我甚至可以将一条新插入的记录复制到新表中,并发送给订阅服务器。但反之亦然是不可能的。当我在订阅服务器数据库的新表中插入一条记录时,我得到了一个错误 *Msg 515 'Cannot insert the value NULL into column '

我有一个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.'*.
请帮我解决这个问题


非常感谢。吉塔

这是可再现的错误吗?订阅服务器是否配置为立即更新?在即时更新订阅服务器的情况下,只要发布服务器(或网络)不可用,事务就会失败

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

更改表[dbo].[TableName]添加 约束[DFLT\u GUID\u msrepl]的默认值(newid()) [msrepl_tran_版本]


它是可复制的,因为我已在测试环境中设置,订户配置为立即更新。感谢您的解决方案。在订阅服务器数据库中插入一条记录可以正常工作。但是,插入的记录不会复制回发布服务器数据库。