1

我有一个使用 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.'*.

请帮我解决这个问题。

提前谢谢了。吉塔

4

1 回答 1

0

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

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

ALTER TABLE [dbo].[TableName] 添加约束 [DFLT_GUID_msrepl] DEFAULT (newid()) FOR [msrepl_tran_version]

于 2010-10-05T19:23:40.123 回答