在 Azure 中使用 Geo-Replication 时如何在 App Service 中设置配置字符串?

How can i set configuration string in App Service when using Geo-Replication in Azure?

我在 Azure 中有一个 SQL 数据库,我有异地复制。我在 Azure 中使用“强制故障转移”来模拟故障转移。 一个问题,因为连接到主服务器的应用程序服务有一个依赖于位于美国中北部的 sql 服务器的连接,如下所示:

"Server=mynthcentralusserver.database.windows.net ....

当我创建辅助 sql 数据库备份时,它需要一个服务器。我不想将服务器放在与主服务器(美国中北部)相同的区域,因为我正在模拟的那个区域已关闭,所以如果我在美国中南部创建一个 sql 服务器,连接字符串显然会改变类似于:

"Server=mysthcentralusserver.database.windows.net .... just the server part. 

这是否意味着我需要手动更改应用服务配置设置? 此外,如果美国中北部的主要位置已备份并且我想搬回那里,我是否需要返回并再次更改连接字符串以指向美国中北部的服务器?

如果您正在使用 故障转移组 设置,结合异地复制,您将使用“Read/write 侦听器端点" (groupname.database.windows.net)。这将自动选择组中的“active/primary”服务器。

完成您的设置(另一个区域中的辅助服务器),添加复制,然后创建故障转移组,您应该会在那里看到它。

更新:
我的 Spring 应用程序连接到故障转移组。我手动做了一个Failover,在控制台输出中,我们可以看到Client IP需要添加到防火墙才能访问。之后,我们的应用程序就可以访问新服务器了。

Cannot open server 'josephserver3' requested by the login. Client with IP address 'xxx.xxx.xxx.xxx' is not allowed to access the server. To enable access, use the Windows Azure Management Portal or run sp_set_firewall_rule on the master database to create a firewall rule for this IP address or address range.

为主 sql 服务器创建故障转移组后,将自动复制主数据库。然后我们应该连接到故障转移组名称。我们可以看到 Primary 和 secondary switch ,应用服务将自动更改为指向新的 Primary sql 服务器。当我们创建一个新的 sql 服务器时,它不允许放在相同的位置。

如果你的连接字符串如下:

  • 主服务器 : mynthcentralusserver.database.windows.net
  • 辅助服务器 :mysthcentralusserver.database.windows.net
  • 故障转移组Read/write侦听器端点:故障转移-group.database.windows.net

正如@Bruno L. 所说。您的应用服务应连接到 failover-group.database.windows.net。因此,您无需手动去更改应用服务配置设置。

您可以在下图所示的位置找到它。