首页 > 解决方案 > C# 中的 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-最大数据保存

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

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

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

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

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

如果我错了,请纠正我。

标签: azure-sql-databasehigh-availabilityazure-sql-server

解决方案


在这种情况下,您可以使用自动故障转移组并在主要和次要区域使用相同的 R/w,因此如果它出现故障,Azure 将自动进行故障转移到次要区域。您可以将故障转移 r/w 侦听器用作连接字符串,而无需手动更改连接字符串中的任何内容。


推荐阅读