如果我删除订阅端上复制表中的一条记录,SQL数据库复制是否会停止?
我记得有一个复制正在运行,其中订阅者的删除将被发布者覆盖,从而有效地阻止您删除数据。
但在我们的新配置中,当我们删除一条记录时,它会导致复制崩溃。
答案 0 :(得分:1)
这取决于。如果您在订阅服务器上删除了随后在发布者处更新的行,则在传播更新时复制将中断。为什么是这样?如果你看一下如何复制命令,它会调用带有PK列的存储过程,更改列的位掩码,然后是更改列的新值列表(我对某些细节进行了修饰) ,但你可以在订阅者数据库中查找自己;程序都在那里并且非常容易访问)。因为它不会再次重新复制整行,如果它没有找到PK指示的行,则复制会(正确地)假定订阅者不再与发布者同步并停止。据我所知,复制从未像你描述的那样奏效。
TL; DR:您应该将订阅者数据库视为只读,除非复制过程本身。