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

如何从WSL(Ubuntu 20.04)连接本地SQL Server?

Ubuntu 20.04下SQL Server本地连接故障排查方案

报错信息

Sqlcmd: 错误: Microsoft ODBC Driver 17 for SQL Server : 登录超时已过期。
Sqlcmd: 错误: Microsoft ODBC Driver 17 for SQL Server : TCP Provider: 错误代码0x2749。
Sqlcmd: 错误: Microsoft ODBC Driver 17 for SQL Server : 在建立与SQL Server的连接时出现与网络相关或特定于实例的错误。未找到服务器或无法访问服务器。请检查实例名称是否正确,以及SQL Server是否配置为允许远程连接。有关更多信息,请参阅SQL Server联机丛书。


排查与修复步骤

  • 确认SQL Server服务运行状态
    执行命令检查服务是否正常启动:

    sudo systemctl status mssql-server
    

    若服务未运行,启动并设置开机自启:

    sudo systemctl start mssql-server
    sudo systemctl enable mssql-server
    
  • 验证TCP/IP端口监听配置
    SQL Server默认使用1433端口,检查端口是否被监听:

    sudo netstat -tulpn | grep 1433
    

    若未检测到端口监听,编辑配置文件/var/opt/mssql/mssql.conf,确保以下配置存在:

    [network]
    tcpenable = 1
    tcpport = 1433
    

    保存后重启服务:

    sudo systemctl restart mssql-server
    
  • 检查防火墙规则
    确保Ubuntu防火墙开放1433端口(本地连接也可能受规则限制):

    sudo ufw allow 1433/tcp
    sudo ufw reload
    
  • 重新安装ODBC驱动
    驱动损坏可能导致连接失败,执行重装:

    sudo apt-get remove -y msodbcsql17
    sudo apt-get install -y msodbcsql17
    
  • 调整连接命令参数
    尝试指定TCP协议和端口:

    sqlcmd -S tcp:localhost,1433 -U SA -P <YourPassword>
    

    若使用命名实例,需补充实例名:

    sqlcmd -S localhost\<InstanceName> -U SA -P <YourPassword>
    
  • 重置SA账户密码
    若SA账户被锁定或密码错误,执行重置:

    sudo /opt/mssql/bin/mssql-conf set-sa-password
    

    按提示输入新密码后重启服务。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 06:15:40