C#中的Azure SQL服务器故障转移侦听器点

时间:2018-06-29 10:08:49

标签: azure-sql-database high-availability azure-sql-server

对于使用Azure SQL数据库的高可用性服务,我正在使用“使用两个Azure区域来实现业务连续性,并减少停机时间”。

https://docs.microsoft.com/en-us/azure/sql-database/sql-database-designing-cloud-solutions-for-disaster-recovery#scenario-2-azure-regions-for-business-continuity-with-maximum-data-preservation

我已经在不同区域配置了两个带有流量管理器的Web应用程序(一个正在使用R / W操作使用fg-name.database.windows.net连接字符串,另一个正在使用fg-name.secondary.database.windows.net对于只读操作。现在,请检查以下步骤-

步骤1-如果我的主sql服务器工作正常,那么我的连接字符串(fg-name.database.windows.net)也将适用于主webapp的所有读写操作。

第2步-如果我的主SQL Server关闭(或区域关闭)并且我将宽限期设置为1小时,则流量管理器将使用第二个Web应用程序,其中我正在使用fg-name.secondary.database.windows.net连接字符串,以便用户可以在1小时内执行只读操作。

第3步-故障转移开始1小时后,然后我需要在辅助Web应用程序中将连接字符串从fg-name.secondary.database.windows.net更改为(fg-name.database.windows.net),以便用户可以执行读写操作。

我遇到的问题是,我可以在c#应用程序中基于哪些基础将连接字符串从只读更改为读写,然后再次将读写更改为只读。我需要检查SQLexceptions的数量吗?

如果我错了,请纠正我。

1 个答案:

答案 0 :(得分:1)

在这种情况下,您可以使用自动故障转移组,并在主区域和辅助区域中使用相同的R / w,因此,如果它关闭,则azure会自动将故障转移到辅助区域。而且,您可以将故障转移r / w侦听器用作连接字符串,而无需手动更改连接字符串中的任何内容。