azure - 更新之前是否需要在 Azure SQL 数据库上禁用事件异地复制

标签 azure azure-sql-database geo-replication

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

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

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

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

  3. 在执行这些更新时,如果我们想要保留“辅助”数据库以用于回滚场景,我假设我们可以禁用异地复制以使该数据库暂时保持“陈旧”。有没有办法将该数据库用作主数据库的还原点?

最佳答案

  1. 没有
  2. 是的,这就是按照 this link 保持 RPO < 5 秒的方式
  3. 这是一个复杂的问题。本质上,你可以打破 地理复制,然后执行更新。如果您需要切换 到辅助设备,您只需要更新您的连接 字符串并执行此操作。让主服务器恢复同步可能是这样的 很简单,只需在现在的主节点上启用异地复制并指向它即可 回到旧的小学。最终,您可以使用 this cmdlet 将“主”切换回旧的主。 。您还可以执行 geo-restore 。最终,您还可以还原主区域中主数据库的快照,然后在出现问题时无法恢复该快照。之后根据需要重新启用异地复制。

关于azure - 更新之前是否需要在 Azure SQL 数据库上禁用事件异地复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43785945/

相关文章:

c# - 是什么导致 Azure 事件中心 ReceiverDisconnectedException/LeaseLostException?

Azure AD 定价

azure-sql-database - 如何在Azure SQL数据库中修改时区?

database - 我需要在 SQL 脚本文件中自动执行 SQL Azure 数据库备份。我怎样才能这样做?

c# - 如何从.NET Core API调用Azure门户中的函数App

php - 尝试从 PHP 连接到 Azure DB 时出现 "Call to undefined function sqlsrv_connect()"

用于非冗余目的的 SQL Azure 地理复制

Azure SQL - 异地复制会导致性能影响吗?

使用弹性池的 Azure DB 定价