我在生产 Azure SQL 数据库上使用主动异地复制来实现故障转移场景。 (https://learn.microsoft.com/en-us/azure/sql-database/sql-database-geo-replication-overview)
很快我们将对使用此数据库的应用程序进行升级,并且需要对主数据库进行一些 DDL 更新,这会导致一些问题。对任何\所有人的回答将不胜感激!
我是否需要禁用异地复制才能对主数据库执行数据库更新?
如果我不禁用异地复制,针对主数据库执行的 DDL 语句是否也会自动更改辅助数据库?
在执行这些更新时,如果我们想要保留“辅助”数据库以用于回滚场景,我假设我们可以禁用异地复制以使该数据库暂时保持“陈旧”。有没有办法将该数据库用作主数据库的还原点?
最佳答案
- 没有
- 是的,这就是按照 this link 保持 RPO < 5 秒的方式
- 这是一个复杂的问题。本质上,你可以打破 地理复制,然后执行更新。如果您需要切换 到辅助设备,您只需要更新您的连接 字符串并执行此操作。让主服务器恢复同步可能是这样的 很简单,只需在现在的主节点上启用异地复制并指向它即可 回到旧的小学。最终,您可以使用 this cmdlet 将“主”切换回旧的主。 。您还可以执行 geo-restore 。最终,您还可以还原主区域中主数据库的快照,然后在出现问题时无法恢复该快照。之后根据需要重新启用异地复制。
关于azure - 更新之前是否需要在 Azure SQL 数据库上禁用事件异地复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43785945/