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

如何在Linux服务器的MSSQL Express Docker容器中配置SQL Server网络协议

Linux Docker部署MSSQL Express 预登录握手报错64解决方案

Linux 环境下的 SQL Server 默认已启用 TCP/IP 协议,因此 mssql-conf 工具中没有单独的启用开关配置项,遇到该报错可按以下步骤排查解决:

  • 排查Docker端口映射规则
    启动容器时需正确将宿主机端口映射到容器1433端口,参考启动命令如下:
    docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=你设置的SA密码" \
       -p 1433:1433 --name mssql_express \
       -d mcr.microsoft.com/mssql/server:latest
    
    若使用非1433的自定义端口,SSMS连接时需用逗号分隔IP和端口,格式为服务器IP,自定义端口,不要用冒号分隔。
  • 放行RHEL 7服务器端口规则
    RHEL 7默认防火墙会拦截1433端口,执行以下命令放通端口:
    # 永久放通1433端口
    firewall-cmd --add-port=1433/tcp --permanent
    # 重载防火墙规则使其生效
    firewall-cmd --reload
    # 验证端口是否放通成功
    firewall-cmd --list-ports
    
    可临时关闭SELinux验证是否为权限拦截问题:setenforce 0
  • 调整MSSQL TLS协议兼容配置
    新旧版本TLS协议不匹配是该报错的高频诱因,编辑容器内/var/opt/mssql/mssql.conf文件,添加以下配置:
    [network]
    tlsprotocols = 1.2,1.1,1.0
    
    配置修改完成后重启容器生效:docker restart mssql_express
  • 调整SSMS连接加密配置
    打开SSMS连接窗口,点击「选项」按钮,切换到「连接属性」标签页,取消勾选「加密连接」选项后重试连接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 02:27:02