SQL Azure 是否会自动进行异地复制并自动进行故障转移?

Does SQL Azure automatically geo-replication automatically failover?

我们在 SQL Azure(高级版)中有一个地理复制数据库,想知道我们是否指向作为主数据库的美国中南部数据库,如果出现故障,我们是否必须手动更改我们代码中的连接字符串 (C# .Net / Entity Framework 6) 指向美国北部的新数据库?我们正在寻找一种方法来拥有单个连接字符串,然后 Azure 在幕后进行操作,以便在主数据库出现故障时指向新数据库。这可能吗?

方法更新遵循:
所以我读到这个,当一个区域出现故障时,我们必须手动进入生产系统上的 web.config 文件,并将主数据库更改为另一个正在工作的复制数据库。

我决定在网络配置中对东、西、南区域进行硬编码,并编写代码重试并在无法访问主要区域时故障转移到其他区域。这意味着它只能读取,不能写入,直到 Microsoft 或我们手动将主机故障转移到只读活动从机。对我来说不是最好的体验。需要人为干预知道它已关闭,然后翻转它和自定义代码

你应该阅读这篇文章Designing Cloud Solutions for Disaster Recovery Using Active Geo-Replication

有几个关于如何设置 Azure 可用性的选项。因此,根据您的要求和配置,您可能 需要更改SQL 连接字符串。这篇文章的重点是看"SLA"。例如,在选项 2:具有解耦故障转移的主动-主动计算中,SLA 是:

RTO = SQL connection change + database state change + application verification test

注意SQL connection change;这意味着连接字符串更改。

作为对可能会来看的其他人的更新,此功能现在可在 SQL Azure 上使用。它称为自动故障转移组,于 2017 年 5 月发布。截至撰写本文时,它仍处于预览阶段 - 目前门户不支持配置,必须通过 API 完成。

这里有更多信息:https://azure.microsoft.com/en-us/blog/azure-sql-database-now-supports-transparent-geographic-failover-of-multiple-databases-featuring-automatic-activation/

只需要在Azure上的SQL服务器上配置"Failover Groups",然后在应用程序中配置组故障转移R/W监听器。它会自动更新 DNS 记录并指向可用的数据库服务器,以防前者因中断而停机。