我是否需要在更新之前禁用 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 的回答将不胜感激!
我是否需要禁用异地复制才能对主数据库执行数据库更新?
如果我不禁用异地复制,对主数据库执行的 DDL 语句是否也会自动更改辅助数据库?
执行这些更新时,如果我们想保留 "secondary" 数据库用于回滚场景,我假设我们可以禁用异地复制以暂时保留该数据库 "stale".有没有办法将该数据库用作主数据库的还原点?
- 没有
- 是的,这就是根据 this 保持 RPO < 5 秒的方式
link
- 这是一个复杂的问题。从本质上讲,你可以打破
异地复制,然后执行更新。如果你需要切换
到次要的,你只需要更新你的连接
字符串并执行此操作。使主要恢复同步可能是
就像在现在的主服务器上启用地理复制并指向它一样简单
回到旧的小学。最终,您可以使用 this cmdlet. You can also do a geo-restore 将 "primary" 切换回旧的主节点。最终,您还可以在主要区域中恢复主要数据库的快照,然后在出现问题时失败到那个快照。之后根据需要重新启用异地复制。
我在生产 Azure SQL 数据库上使用活动异地复制来实现故障转移方案。 (https://docs.microsoft.com/en-us/azure/sql-database/sql-database-geo-replication-overview)
很快我们将对使用此数据库的应用程序执行升级,并且需要对主数据库进行一些 DDL 更新,这会导致一些问题。对 any\all 的回答将不胜感激!
我是否需要禁用异地复制才能对主数据库执行数据库更新?
如果我不禁用异地复制,对主数据库执行的 DDL 语句是否也会自动更改辅助数据库?
执行这些更新时,如果我们想保留 "secondary" 数据库用于回滚场景,我假设我们可以禁用异地复制以暂时保留该数据库 "stale".有没有办法将该数据库用作主数据库的还原点?
- 没有
- 是的,这就是根据 this 保持 RPO < 5 秒的方式 link
- 这是一个复杂的问题。从本质上讲,你可以打破 异地复制,然后执行更新。如果你需要切换 到次要的,你只需要更新你的连接 字符串并执行此操作。使主要恢复同步可能是 就像在现在的主服务器上启用地理复制并指向它一样简单 回到旧的小学。最终,您可以使用 this cmdlet. You can also do a geo-restore 将 "primary" 切换回旧的主节点。最终,您还可以在主要区域中恢复主要数据库的快照,然后在出现问题时失败到那个快照。之后根据需要重新启用异地复制。