You need to enable JavaScript to run this app. 咨询使用SSMS无法登录Docker部署的SQL Server 2019本地实例的问题
优惠活动
大模型
产品
解决方案
定价
更多

咨询使用SSMS无法登录Docker部署的SQL Server 2019本地实例的问题

SQL Server Docker容器本地SSMS连接失败排查

基础概念澄清

  • sa是SQL Server的内置默认系统管理员账号,容器部署模式下不会自动创建其他管理员账号,仅通过环境变量在实例初始化时配置sa账号的登录密码。

启动命令的高频踩坑点

当前使用的启动命令存在两处可直接导致连接失败的问题:

  • 密码占位符未替换:命令中的SA_PASSWORD=<myPassword14>,尖括号为官方文档的占位符标记,不属于密码组成部分。如果直接将带尖括号的整串传入容器环境变量,实际容器内存储的sa密码会包含前后尖括号字符,与SSMS中输入的无尖括号密码完全不匹配。
  • 密码复杂度不满足强制要求:SQL Server 2019要求sa密码长度至少8位,且必须同时包含大写字母、小写字母、数字、特殊字符中的至少三类。示例中的无尖括号密码myPassword14未包含特殊字符,会在容器启动阶段触发密码校验失败,导致SQL实例无法完成正常初始化。

SSMS端连接配置规范

配置连接参数时需注意两个高频出错细节:

  • 服务器地址栏填写localhost,1433或127.0.0.1,1433,地址与端口的分隔符为英文逗号,不可使用冒号。
  • 身份验证模式选择「SQL Server身份验证」,登录名填写sa,密码填写与启动命令中完全一致的、无占位符的实际配置值。

状态验证操作

按上述配置完成后仍无法连接时,可通过PowerShell执行命令排查基础状态:

  • 执行docker ps确认sql1容器是否处于正常运行状态,若容器状态为Exited,说明启动流程已中断,执行docker logs sql1即可定位具体失败原因(常见为密码不达标、EULA接受参数配置错误)。
  • 执行docker exec -it sql1 cat /var/opt/mssql/log/errorlog 查看SQL实例自身的启动日志,确认实例是否完成1433端口的正常监听初始化。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.05 02:36:09