具有专用端点的活动故障转移的Azure SQL数据库连接字符串

时间:2020-10-17 23:12:20

标签: azure azure-sql-database azure-virtual-network

我们有一个作为Azure App服务托管的ASP.Net Web应用程序,它连接到Azure SQL Server。我们在北部有2个Azure SQL Server,在南部有2个Azure SQL Server(用于故障转移)。我们为两个sql服务器都创建了专用端点:-

NorthRegion-devxxxs-sql-server.database.windows.net
SouthRegion-devxxxs-sql-server.database.windows.net

以下是故障转移组中的“读/写侦听器”端点:-

XXXXX-devxxxxs-failovergroup.database.windows.net

北方是主要的,南方是次要的,它们被添加到故障转移组中。 AsP.Net Web应用程序连接字符串使用专用端点到北方区域SQL Server,如下所示:-

  <add name="xxxxxxxx" connectionString="Data Source=tcp:NorthRegion-devxxxs-sql-server.database.windows.net,1433;Initial Catalog=dtasbasename;Persist Security Info=False;User ID=Admin;Password=YYYYYY;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" providerName="System.Data.SqlClient" />

我们进行了故障转移测试,并且将SQL Server切换为South Primary和North Secondary,但是由于pvt端点,我们怀疑它仍然连接到North Region数据库,因此为了进行测试,我们删除了Northern Region数据库并获得了运行时异常。

然后,我将连接字符串更改为使用READ / WRITE Listner,这是我的连接字符串的外观(相同的用户ID和密码),但仍然出现运行时异常:无法连接至数据库。以下是使用故障转移组中的侦听器端点修改的连接字符串:-

<add name="xxxxxxxx" connectionString="Data Source=tcp:XXXXX-devxxxxs-failovergroup.database.windows.net,1433;Initial Catalog=dtasbasename;Persist Security Info=False;User ID=Admin;Password=YYYYYY;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" providerName="System.Data.SqlClient" />


TCPPING XXXXX-devxxxxs-failovergroup.database.windows.net:1433

从App服务(控制台)进行的TCPPing对于故障转移组FQDN正常工作,并返回Connected(基本上,App服务能够对Failover组以及专用SQL端点执行ping操作。)

我的问题是,在这种情况下,连接字符串应该是什么样子?在这种情况下,我在2个不同的区域中有2个SQL Server,并且具有专用端点和故障转移组。我不确定web.config连接字符串中应包含的数据库服务器名称是什么,以便在主服务器出现故障时它可以自动连接到辅助服务器。

有帮助吗?

0 个答案:

没有答案