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

如何连接Azure容器应用中.NET Aspire部署的SQL Server实例?

解决Azure容器应用中.NET Aspire创建的SQL Server实例SSMS连接问题(Error:258)

核心问题诊断

你遇到的Error:258本质是协议不匹配:SQL Server依赖TCP协议通信,但当前配置的是HTTP类型入口,Azure容器应用的HTTP入口仅处理HTTP/HTTPS流量,无法转发TCP请求到1433端口,导致外部无法建立连接。

连接步骤

1. 切换容器应用入口为TCP类型

  • 登录Azure门户,找到目标容器应用,进入「入口」配置页面
  • 删除原有的HTTP入口(或新增TCP类型入口),设置:
    • 入口类型:TCP
    • 目标端口:1433
    • 流量来源:任意位置
  • 保存配置后,记录Azure自动分配的TCP端点(格式为[容器应用域名]:[动态端口],例如sql.randomazurename.westeurope.azurecontainerapps.io:54321)

2. 在SSMS中配置连接参数

  • 打开SSMS,在「服务器名称」栏填入上述完整TCP端点(必须包含动态端口)
  • 身份验证选择「SQL Server身份验证」,输入:
    • 登录名:sa
    • 密码:你在Aspire配置中设置的密码(对应连接字符串里的XXX)
  • 点击「选项」,勾选「信任服务器证书」(对应连接字符串的TrustServerCertificate=true)
  • 可选:在「连接到数据库」下拉框选择DATABASENAME

3. 验证网络连通性

  • 确认本地防火墙/安全组未阻止出站连接到Azure分配的TCP端口
  • 如果容器应用启用了VNet集成,需确保本地网络能访问该VNet(可通过VPN或ExpressRoute实现)

关键注意事项

  • Aspire提供的Server=sql,1433是服务网格内的内部域名,仅在Aspire应用集群内有效,外部无法直接使用
  • Azure容器应用的TCP入口不会使用1433端口,必须使用系统分配的动态端口
  • 可通过容器应用的「日志」页面确认SQL Server是否已完全启动(日志中出现SQL Server is now ready for client connections则说明启动完成)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 05:37:39