You need to enable JavaScript to run this app. 如何使用SSMS连接Azure应用服务容器中的SQL Server
优惠活动
大模型
产品
解决方案
定价
更多

如何使用SSMS连接Azure应用服务容器中的SQL Server

本地SSMS连接Azure容器内SQL Server的实操步骤

首先要明确你当前部署场景的核心规则:Azure应用服务(基于Docker Compose的多容器部署)不会自动把你compose文件里写的端口映射暴露到公网——你配置的"1450:1433"仅代表容器组内部,把sqldata容器的1433端口映射到同组其他容器可访问的1450端口,公网入口默认仅保留80、443端口用于承载Web类应用流量,非Web端口默认是不对外开放的。

第一步:适配Azure的端口暴露规则

  • 如果你使用的是基础层及以上SKU的应用服务,进入应用服务的「网络」配置面板,找到「入站端口规则」配置项,手动添加入站规则:允许TCP协议的1450端口入站流量,绑定和你compose配置一致的公网端口
  • 如果你用的是免费/共享层级的应用服务,是无法配置自定义入站非Web端口的,需要先把SKU升级到基础层(B1及以上)才能实现公网端口的对外暴露
  • 不需要修改compose里的端口映射段,保持原有"1450:1433"的配置即可,这个配置可以保证同组内的dockercrud应用可以正常连接SQL容器

第二步:SSMS端配置连接参数

  • 服务器地址栏填写规则:你的应用服务名称.azurewebsites.net,1450——注意端口号和域名之间用英文逗号分隔,这是SQL Server连接协议的标准语法,不要写成冒号分隔的格式
  • 身份验证方式选择「SQL Server身份验证」
    • 登录名填写sa
    • 密码填写你compose环境变量里配置的vV5r9tn0M4@

连接失败排查要点

  • 连接超时的话,先检查本地网络是否屏蔽了1450端口的出站规则,以及应用服务的网络安全组有没有拦截对应端口的入站流量
  • 不要尝试把SQL的对外映射端口改成1433,这个端口段在Azure应用服务的内部网络中有系统级占用,会出现连接冲突
  • 安全提示:直接把SQL端口暴露到公网的方式存在极高的暴力破解风险,生产环境不建议使用。正式场景下建议将SQL容器配置为仅容器组内部可访问,通过主应用的接口完成数据交互,不要直接将SA账户暴露到公网环境。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.01 08:45:05