我有一个SQL Server 2008可更新的事务复制集。一切工作正常。
我通过sp_addarticle
和sp_addsubscription
将新表添加到了现有的发布中。 之后,我运行了快照代理。 已经为新添加的表格生成了快照。 所以新表成功复制到订阅者。 我甚至可以将新插入的logging复制到用户的新表中。
但是这是不可能的。 当我在用户数据库的新表中插入logging时,出现错误
Msg 515'不能将值NULL插入到'msrepl_tran_version'列,表Servername.dbo.Tablename'; 列不允许空值。 INSERT失败。
请帮我解决这个问题。
提前谢谢了。
吉塔
这个错误是告诉你,msrepl_tran_version表的默认值没有在订户数据库上设置(或者你愿意试图在你的INSERT语句中将列设置为NULL)。 它需要有一个默认值newid()。 虽然我不确定,但为什么没有设置。