azure-sql-database - C# 中的 Azure sql server 故障转移侦听器点
问题描述
对于使用 Azure SQL 数据库的高可用性服务,我正在使用“使用两个 Azure 区域以最少的停机时间实现业务连续性”的方法。
我在不同区域配置了两个带有流量管理器的 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 的数量吗?
如果我错了,请纠正我。
解决方案
在这种情况下,您可以使用自动故障转移组并在主要和次要区域使用相同的 R/w,因此如果它出现故障,Azure 将自动进行故障转移到次要区域。您可以将故障转移 r/w 侦听器用作连接字符串,而无需手动更改连接字符串中的任何内容。
推荐阅读
- docker - 使用 Jenkins 的 Artifactory 插件,有没有办法在存储库中搜索具有属性的图像?
- angular8 - 运行 ng serve 命令时出现此错误
- android - 反复改变子视图的可见性和测量父视图会导致测量大小和显示的错误结果
- combobox - vaadin 8 组合框:removeAllValidators
- php - 通过 Laravel azure ad oauth 从 Azure AD 获取用户角色
- c++ - 无法将特殊符号插入 Oracle 数据库
- javascript - 是否可以从firebase云函数node.js更新firestore中的map类型字段?
- css - 子组件的高度和宽度不适用于角度
- python - Celery 按照它们被调用的顺序执行任务(在运行时)
- powershell - 如何从csv中解析带逗号的字符串并使用powershell脚本输出结果