我是否需要在更新之前禁用 Azure SQL 数据库上的活动异地复制

Do I need to disable active geo-replication on Azure SQL Database prior to update

我在生产 Azure SQL 数据库上使用活动异地复制来实现故障转移方案。 (https://docs.microsoft.com/en-us/azure/sql-database/sql-database-geo-replication-overview)

很快我们将对使用此数据库的应用程序执行升级,并且需要对主数据库进行一些 DDL 更新,这会导致一些问题。对 any\all 的回答将不胜感激!

  1. 我是否需要禁用异地复制才能对主数据库执行数据库更新?

  2. 如果我不禁用异地复制,对主数据库执行的 DDL 语句是否也会自动更改辅助数据库?

  3. 执行这些更新时,如果我们想保留 "secondary" 数据库用于回滚场景,我假设我们可以禁用异地复制以暂时保留该数据库 "stale".有没有办法将该数据库用作主数据库的还原点?

  1. 没有
  2. 是的,这就是根据 this 保持 RPO < 5 秒的方式 link
  3. 这是一个复杂的问题。从本质上讲,你可以打破 异地复制,然后执行更新。如果你需要切换 到次要的,你只需要更新你的连接 字符串并执行此操作。使主要恢复同步可能是 就像在现在的主服务器上启用地理复制并指向它一样简单 回到旧的小学。最终,您可以使用 this cmdlet. You can also do a geo-restore 将 "primary" 切换回旧的主节点。最终,您还可以在主要区域中恢复主要数据库的快照,然后在出现问题时失败到那个快照。之后根据需要重新启用异地复制。