SQL Server 合并复制 - 重新应用快照时订阅服务器数据丢失以解决错误

问题描述

在不同机器上的两个 sql Server 2019 实例之间设置合并复制。总体来说一切都很好,但有时可能会出现一些错误 - 我的意思是,他们并非真的闻所未闻,他们......

但是,关于解决导致数据复制停止的错误,有一件事让我感到困惑。例如,我不小心将一个 rowguid 设置为 GUID_NULL,然后它不想从中恢复,我不得不在主服务器上创建一个新快照,然后应用到从服务器。然而,它让我想到了一个我不知道如何处理以避免数据丢失的场景。例如:

  1. 主服务器和从服务器同步(每隔几分钟同步一次),一切正常。双向复制,其中数据在两个方向上更新。
  2. 发生了一些错误(与哪个无关),导致复制无法继续。唯一的解决方案似乎是修复任何错误并应用来自 Master 的新快照。
  3. 与此同时,用户/应用程序正在将数据写入两个主从数据库。只是,现在复制由于错误而不再同步。
  4. 在 Master 上创建一个新快照并将其应用到 Slave 会使复制错误自行解决

问题: 上面第 4 点中的快照将仅包含 Master 上的数据(我特别关注复制停止后写入的数据)。同时写入 Slave 数据库的数据(在复制错误之后),将被来自 Master 的快照覆盖。

那么,如何让它同时考虑到 Master 和 Slave 上的数据,就像发生错误之前那样?我的意思是,否则,人们在 Slave 数据库上所做的数据/工作将作为错误解决的一部分而丢失,这是不行的。

有什么想法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)