Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SQL Azure是否自动地理复制自动故障切换?_C#_Azure_Azure Sql Database_Replication - Fatal编程技术网

C# SQL Azure是否自动地理复制自动故障切换?

C# SQL Azure是否自动地理复制自动故障切换?,c#,azure,azure-sql-database,replication,C#,Azure,Azure Sql Database,Replication,我们在SQL Azure(Premium)中有一个地理复制数据库,我们想知道我们是否指向美国中南部的主数据库,如果主数据库出现故障,我们是否必须手动更改代码(C#.Net/Entity Framework 6)中的连接字符串以指向美国北部的新数据库?我们正在寻找一种方法,以有一个单一的连接字符串,然后Azure做的封面下,现在指向新的数据库,如果主一旦发生故障。可能吗 后续方法更新: 所以我读到了这篇文章,当一个区域发生故障时,我们必须手动进入生产系统上的web.config文件,并将主数据库更

我们在SQL Azure(Premium)中有一个地理复制数据库,我们想知道我们是否指向美国中南部的主数据库,如果主数据库出现故障,我们是否必须手动更改代码(C#.Net/Entity Framework 6)中的连接字符串以指向美国北部的新数据库?我们正在寻找一种方法,以有一个单一的连接字符串,然后Azure做的封面下,现在指向新的数据库,如果主一旦发生故障。可能吗

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


我决定只在web配置中硬编码东部、西部和南部地区,并编写代码,以便在无法访问主要地区时重试并故障转移到其他地区。这意味着在Microsoft或我们手动将主设备故障切换到只读活动从设备之前,它只能读取,不能写入。对我来说不是最好的经历。需要人工干预,知道它已关闭,然后翻转它和自定义代码

您应该阅读本文

关于如何设置Azure的可用性,有几个选项。因此,根据您的需求和配置,可能需要更改SQL连接字符串。本文的重点是研究“SLA”。例如,在选项2:带解耦故障切换的活动计算中,SLA为:

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

请注意
SQL连接更改
;这意味着连接字符串发生了更改。

作为可能前来查看的其他人的更新,此功能现在在SQL Azure上可用。它被称为自动故障切换组,于2017年5月发布。截至撰写本文时,它仍处于预览状态-门户目前不支持配置,必须通过API进行配置


此处的详细信息:

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

谢谢,因此我读到这篇文章,当某个区域停机时,我们必须手动进入生产系统上的web.config文件,并将主数据库更改为另一个正在工作的复制数据库。我决定只在web配置中硬编码eat、west和south区域,并编写代码,以便在无法访问主区域时重试并故障转移到其他区域。这意味着在Microsoft或我们手动将主设备故障切换到只读活动从设备之前,它只能读取,不能写入。对我来说不是最好的经历。需要人工干预,知道它已关闭,然后翻转它和自定义代码。