![将新文章添加到事务复制会导致订阅者出错](https://linux22.com/image/526255/%E5%B0%86%E6%96%B0%E6%96%87%E7%AB%A0%E6%B7%BB%E5%8A%A0%E5%88%B0%E4%BA%8B%E5%8A%A1%E5%A4%8D%E5%88%B6%E4%BC%9A%E5%AF%BC%E8%87%B4%E8%AE%A2%E9%98%85%E8%80%85%E5%87%BA%E9%94%99.png)
我有一个使用 SQL Server 2008 的可更新事务复制集。一切运行正常。
我通过 向现有发布添加了一个新表,sp_addarticle
然后运行sp_addsubscription
。之后,我运行了快照代理。快照仅针对新添加的表生成。因此,新表已成功复制到订阅者。我甚至可以将新插入到新表中的记录复制到订阅者。
但反过来就不行了。当我在订阅者数据库的新表中插入一条记录时,出现了错误
消息 515“无法将值 NULL 插入到表 Servername.dbo.Tablename 的列“msrepl_tran_version”中;列不允许为空。INSERT 失败。”。
请帮我解决这个问题。
提前致谢。
Geeta
答案1
该错误告诉您,订阅者数据库上尚未设置 msrepl_tran_version 表的默认值(或者您故意在 INSERT 语句中尝试将该列设置为 NULL)。它需要有一个默认值 newid()。但我不确定为什么没有设置它。