我正在尝试了解 Azure SQL 故障转移组的行为。感觉好像我错过了一些明显的东西。
想象一下以下场景:
- 我的数据库在 RegionA 和 RegionB 中配置了故障转移组。 RegionA 为主
- 我在 RegionA 的表中插入 row1、更新 row2 并删除 row3
- RegionA 发生中断,最终导致上述表更改未复制到 RegionB
- 我手动强制故障转移到 RegionB 并继续运行一段时间
- 区域 A 重新上线,区域 A 中的存储仍然完好无损
第 2 页提到的 row1、row2 和 row3 会发生什么情况?
如果 row2 在 RegionB 中操作时已更新,并且现在有 2 个相互冲突的更改,会发生什么情况?
最佳答案
在同步故障转移组中,对主节点的更改只有在成功复制到所有辅助节点后才会写入磁盘。
在您的场景中,区域 A 恢复后不会提交更改,因此不会出现差异。
关于sql - Azure SQL 故障转移组和潜在的数据丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71409293/