Azure Logic Apps(标准版)无法连接SQL托管实例:服务器未找到或不可访问
Azure Logic Apps(标准版)连接Azure SQL托管实例(MI)排查方案
问题背景
同一虚拟网络(VNet)下,Logic Apps(标准版)与SQL MI分属不同子网及独立NSG,已完成以下配置:
- Logic Apps启用VNet集成指向目标VNet
- 双方NSG分别配置了1433端口的出站(Logic Apps)和入站(SQL MI)允许规则
- SQL MI已禁用公共端点,尝试通过私有IP或DNS名称连接失败,报错:
建立与SQL Server的连接时发生网络相关或实例特定错误。服务器未找到或无法访问。 - 禁用公共端点前,曾通过3342端口公共端点成功连接
排查步骤
1. 验证VNet集成有效性
- 确认Logic Apps使用区域VNet集成(标准版专属,而非网关集成),网关集成会引入额外路由复杂度。
- 检查集成子网:必须为Logic Apps专用子网,不能与其他服务共享,且子网规模至少为/28;确认子网未被标记为资源耗尽。
- 核对VNet路由表:若Logic Apps或SQL MI子网使用自定义路由表,需确保存在允许VNet内子网互访的路由(默认VNet路由自动处理,自定义路由若未放行会阻断流量)。
2. 精细化检查NSG规则
- 优先级校验:确保1433端口允许规则的优先级(数字越小优先级越高)高于默认拒绝所有规则,避免被覆盖。
- 源/目标CIDR核对:确认Logic Apps子网和SQL MI子网的CIDR地址完全正确,避免因地址写错导致规则失效。
- 协议与端口确认:规则协议需为TCP(SQL Server依赖TCP协议),目标端口为1433(SQL MI私有端点默认端口)。
3. DNS解析与基础连通性测试
- 若使用SQL MI私有DNS名称连接:需确认VNet已关联
privatelink.database.windows.net私有DNS区域,否则Logic Apps无法将DNS解析为私有IP。 - 若使用私有IP仍报错:通过VNet内的跳转机执行
telnet <SQL MI私有IP> 1433或sqlcmd -S <私有IP>,1433 -U <用户名> -P <密码>,验证基础网络连通性。
4. SQL MI自身防火墙配置
即使在同一VNet,SQL MI的数据库防火墙规则也需明确允许Logic Apps子网的CIDR地址。进入SQL MI防火墙设置,添加Logic Apps子网CIDR到允许列表。
5. Logic Apps出站流量验证
- 确认VNet集成生效:在Logic Apps概述页查看VNet集成状态,或通过测试逻辑应用发送请求到VNet内测试服务,验证出站IP来自集成子网。
- 若跳转机能正常连接但Logic Apps不行:可在Logic Apps中添加HTTP动作,请求SQL MI私有IP的1433端口(仅做连通性测试),查看返回结果定位问题。
内容的提问来源于stack exchange,提问作者user2026504
相关产品推荐
相关产品推荐

