Azure SQL 数据库的活动地理复制和自动故障转移组之间的主要区别是什么

What is the main difference between Active Geo Replication and Auto Failover Groups for Azure SQL DB

我想知道 Azure SQL DB 中的 Active Geo Replication 和 Auto Failover 组之间的区别是什么?我读到在自动故障转移组中,辅助数据库总是在辅助区域上创建,但活动的异地复制也可能发生在同一区域之间。那么什么时候应该使用与另一个相比?

Active Geo Replication 和 Auto Failover 组之间几乎没有区别。

  1. Azure SQL 托管实例不支持活动 geo-replication,但支持自动故障转移组。

  2. 活动 geo-replication 通过流式数据库事务日志复制更改。它与事务复制无关,后者通过执行 DML(INSERT、UPDATE、DELETE)命令来复制更改。看来Activegeo-replication更轻量高效

Active-geo-replication document

Auto-failover-group document

根据 MSFT documentation - the Auto-failover groups "is a declarative abstraction on top of the existing active geo-replication feature, designed to simplify deployment and management of geo-replicated databases at scale". BCDR 是最大的用例 - 将 SQL 数据手动或自动故障转移到另一个区域。

自动故障转移组功能在增加便利性的同时施加了一些限制 -

  1. 侦听器概念使您的应用程序能够利用与您的 SQL 相同的端点,而通过地理复制,您的应用程序负责连接字符串操作以达到所需的目标 SQL 实例
  2. 另一方面,geo-replication支持同一区域的多个RO目标,而故障转移组仅支持不同区域的两个SQL实例,其中一个是RW,另一个是RO
  3. 正如另一个答案中有效指出的那样,SQL 托管实例仅通过 vNet 对等支持故障转移组