Azure 数据同步未按预期正确同步 sql 数据库数据

Azure data sync not syncing sql database data properly as expected

我正在检查 Azure sql 数据库的 Azure 数据同步功能,发现数据未正确同步。

场景: 我创建了一个同步组,其中有一台集线器机器 [Hub1] 和 2 个数据库,一个在同一数据中心 [DB1] 中,另一个来自其他数据中心 [DB2]。

案例: 我修改了一个table的DB2和triggered\ransync来做数据库同步。同步后,当我检查数据库时,我观察到只有 Hub1 table 数据根据 DB2 进行了修改,但 DB1 没有修改。

当我再次触发数据库同步时,只有 DB1 根据 DB2 中的更改进行了修改。

根据我的理解和预期,在一次同步操作中,Hub1 和 DB1 都应根据 DB2 中的修改进行修改。

为什么会出现此数据不匹配问题?

是的,你遇到的情况是有可能的。对于 1 个 hub-2 成员同步,它实际上会触发两个 pair-to-pair 同步:[Hub1] <-> [DB1] 和 [Hub1] <-> [DB2]。但是哪对先同步的顺序是随机的。

因此,在您的情况下,大多数情况下 [Hub1] <-> [DB1] 首先被触发,但发现没有更新更新,因为 [Hub1] 和 [DB1] 之间的数据相同。然后 [Hub1] <-> [DB2] 被触发。所以 [Hub1] 已更新,但 [DB1] 仍未更改。但是如果你更改 [Hub1] 上的数据,而不是 member 上的数据,则不会发生此问题。

为解决您的问题,建议设置定时同步或在有2个成员时手动同步两次,以保证一致性。

此致, 加里