Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.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
在Azure中使用地理复制时,如何在应用程序服务中设置配置字符串?_Azure_Azure Sql Database_Geo Replication - Fatal编程技术网

在Azure中使用地理复制时,如何在应用程序服务中设置配置字符串?

在Azure中使用地理复制时,如何在应用程序服务中设置配置字符串?,azure,azure-sql-database,geo-replication,Azure,Azure Sql Database,Geo Replication,我在Azure中有一个SQL数据库,我有地理复制。我在Azure中使用“强制故障切换”模拟故障切换。 一个问题,因为连接到主应用程序的应用程序服务的连接依赖于位于美国中北部的sql server,如下所示: "Server=mynthcentralusserver.database.windows.net .... 当我创建辅助sql数据库备份时,它需要一台服务器。我不想将服务器放在与主服务器(美国中北部)相同的区域,因为我正在模拟的区域已关闭,因此如果我在美国中南部创建sql se

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

"Server=mynthcentralusserver.database.windows.net ....
当我创建辅助sql数据库备份时,它需要一台服务器。我不想将服务器放在与主服务器(美国中北部)相同的区域,因为我正在模拟的区域已关闭,因此如果我在美国中南部创建sql server,连接字符串将明显更改为:

"Server=mysthcentralusserver.database.windows.net .... just the server part. 
那么这是否意味着我需要手动更改应用程序服务配置设置?
另外,如果美国中北部的主位置已备份,并且我想移回那里,我是否需要返回并再次更改连接字符串以指向美国中北部的服务器?

如果您使用故障切换组设置,并结合地理复制,您将使用“读/写侦听器端点””(groupname.database.windows.net)。这会自动选择组中的“活动/主”服务器


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

更新:
我的Spring应用程序连接到故障切换组。我手动执行了故障切换,在控制台输出中,我们可以看到客户端IP需要添加到防火墙才能访问。之后,我们的应用程序可以访问新服务器。

无法打开登录请求的服务器“josephserver3”。不允许IP地址为“xxx.xxx.xxx.xxx”的客户端访问该服务器。若要启用访问,请使用Windows Azure管理门户或在主数据库上运行sp_set_firewall_rule为该IP地址或地址范围创建防火墙规则

为主sql server创建故障转移组后,将自动复制主数据库。然后,我们应连接到故障转移组名称。我们可以看到主交换机和辅助交换机,应用程序服务将自动更改为指向新的主sql server。当我们创建新的sql server时,它不允许放在同一位置

如果您的连接字符串如下所示:

  • 主服务器:mynthcentralusserver.database.windows.net
  • 辅助服务器:mythcentralusserver.database.windows.net
  • 故障转移组读/写侦听器端点:Failover-Group.database.windows.net
正如@Bruno L.所说,您的应用程序服务应该连接到故障转移组.database.windows.net。因此,您无需手动更改应用程序服务配置设置

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

Microsoft Documentation:那么您的意思是,如果我为主sql server创建故障转移组,主数据库将自动复制。但是,当我模拟故障转移时,我可以看到主交换机和辅助交换机,但应用服务配置是否会自动更改为指向新的主sql server?为什么n我创建了一个新的sql server,它不允许放入不同的资源组,因为主数据库位于资源组中发生故障的位置的服务器上?这很有帮助,但它显然不需要跨任何防火墙设置?为了真正进行测试,为什么不能将辅助数据库脱机以确保它真正正常运行连接到主服务器?你说得对,我们需要将防火墙规则添加到辅助服务器。在将你的应用程序服务添加到规则后,当主服务器关闭时,它将自动更改为指向新的主sql服务器。嗨@Abbey,我已更新了我的答案。是的,谢谢,看到了,我可以手动操作,并且工作正常。我正在尝试自动化一切。我可能会考虑编写一个powershell脚本来复制防火墙设置,并将其作为基于计时器的Azure功能。还有一件事..从主服务器到辅助服务器的复制多长时间发生一次?是否可配置?