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

Azure Functions v4(私有VNet)无法连接Azure SQL求助

Azure Functions v4 无法连接Azure SQL Server问题排查

问题概述

查阅多篇文章和帖子后,仍无法让v4版Functions应用连接到Azure SQL Server,但另一个VNet中的常规Web应用无需额外配置即可直接访问该数据库。

VNet配置详情

  • VNet: 10.0.0.0/24
  • DMZ子网: 10.0.0.0/27
  • Web应用集成子网: 10.0.0.32/29(连接对等VNet内的API)
  • 存储子网: 10.0.0.40/29
  • Functions应用集成子网: 10.0.0.48/29
  • 资源子网: 10.0.0.64/27

Functions应用配置

网络配置

  • 入站流量经DMZ,通过集成子网实现VNet集成,已启用「出站互联网流量」「内容存储」选项
  • 集成子网已添加Microsoft.Sql、Microsoft.Storage服务端点
  • VNet中配置了指向安全存储的私有DNS区域:privatelink.blob.core.windows.net 和 privatelink.file.core.windows.net

应用设置

  • 删除了AzureWebJobsStorage配置项
  • AzureWebJobsStorage__accountname = <我的存储账户名称>
  • AzureWebJobsStorage__credential = managedidentity
  • AzureWebJobsStorage__clientId = <托管标识客户端ID>
  • WEBSITE_CONTENTOVERVNET = 1
  • WEBSITE_VNET_ROUTE_ALL = 1

SQL Server配置

  • 已为Functions应用集成子网配置虚拟网络规则
  • 使用的连接字符串(在其他应用中可正常运行):

Server=tcp:mydb.database.windows.net,1433;Database=MyDatabase;User Id=;Authentication=Active Directory Managed Identity;MultipleActiveResultSets=True;App=MyFunction
说明:<Managed Ident Client Id>为用户分配的托管标识客户端ID

错误信息

数据库连接验证端点抛出以下错误:

建立与SQL Server的连接时出现与网络相关的或特定于实例的错误。未找到服务器或无法访问服务器。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。(provider: Named Pipes Provider, error: 40 - 无法打开到SQL Server的连接)

已验证操作

  • 添加Microsoft.Sql服务端点前后,错误均存在
  • 通过Functions应用控制台执行tcpping mydb.database.windows.net:1433可成功连通
  • 同类型配置的常规Web应用可直接连接目标SQL Server

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 08:13:15