You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已配置Azure VNet对等互连时,如何为托管SQL实例启用异地复制?

解决Azure托管SQL异地复制与VNet Peering共存的问题

这是个很典型的Azure网络架构冲突场景,我来给你梳理几个可行的解决思路,既能保持应用和数据库分属不同VNet的架构,又能顺利启用SQL异地复制:

先搞清楚报错的根源

你遇到的ParentVnetAlreadyUsesRemoteGateways错误,本质是Azure的VNet网络规则限制:当一个VNet通过对等互连(Peering)开启了Use Remote Gateways选项时,这个VNet就无法再创建本地的Virtual Network Gateway了——因为它已经允许使用对等VNet的网关资源,二者不能同时存在。


方案一:调整现有VNet Peering的网关配置(最便捷的方案)

  • 登录Azure门户,找到应用服务器VNet和SQL实例VNet之间的对等互连连接(peer-to-app-servers)
  • 检查SQL实例VNet这边的peering设置,看是否开启了Use Remote Gateways选项
  • 如果开启了,直接关闭这个选项(注意:提前确认应用服务器VNet并没有通过自身网关给SQL VNet提供路由,否则关闭后会影响现有连通性;如果应用VNet本身没有网关,这个操作完全安全)
  • 关闭后,就可以正常给SQL实例VNet创建Virtual Network Gateway,进而搭建异地复制所需的跨区域Connection了

方案二:改用VNet-to-VNet VPN替代现有Peering

如果因为业务原因不能修改现有Peering的网关设置,可以考虑替换网络连接方式:

  • 先删除应用和SQL VNet之间的现有Peering
  • 分别给应用服务器VNet和SQL实例VNet创建Virtual Network Gateway
  • 建立两个网关之间的VNet-to-VNet VPN连接
  • 完成后,SQL实例VNet的网关既可以和异地区域的SQL网关建立异地复制连接,又能通过VPN保持和应用VNet的连通
  • 注意:这个方案需要调整现有网络架构,可能需要短时间的停机维护,务必提前规划

方案三:用Azure Private Link替代VNet Peering(更安全的长期方案)

如果不想改动现有SQL VNet的网络配置,可以考虑用Private Link来实现应用到SQL的访问:

  • 在托管SQL实例上创建Private Endpoint,并将其关联到应用服务器VNet的子网中
  • 这样应用服务器可以通过Private Endpoint直接访问SQL实例,不需要依赖VNet Peering
  • 此时SQL实例VNet不受Peering的网关限制,可以自由创建本地网关,搭建异地复制所需的跨区域连接
  • 优势:Private Link是点对点的安全访问,不会暴露整个VNet的网络,符合云原生的安全架构

验证步骤

不管选择哪种方案,完成配置后记得做以下验证:

  • 确认应用服务器依然能正常访问现有SQL实例
  • 确认SQL实例VNet的网关和异地区域的SQL网关成功建立Connection
  • 启用异地复制后,检查同步状态是否正常

内容的提问来源于stack exchange,提问作者Faizuddin Mohammed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 09:02:43