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

Ubuntu 16.04环境下安装SQL Server Management Studio时遇Login failed for user错误求助

解决Ubuntu 16.04安装SQL Server Management Studio时的登录失败问题

看到你在Ubuntu 16.04上装完SQL Server后,装SSMS碰到了Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Login failed for user的错误,这大概率是身份验证配置、驱动依赖或者登录参数的问题,我整理了几个实用的排查步骤,你可以一步步试:

1. 先确认SQL Server的身份验证模式

Linux上的SQL Server默认可能没开启SQL身份登录(咱们用的sa或者自建管理员账户都是SQL登录),先验证一下:

  • 先尝试本地登录SQL Server(用你设置的sa账户和密码):
    sqlcmd -S localhost -U sa -P 你的密码
    
  • 如果能成功登录,执行这条SQL检查身份验证模式:
    SELECT name, authentication_desc FROM sys.server_principals WHERE name = 'sa';
    
    如果结果里authentication_desc显示SQL_LOGIN就没问题;如果不是,得改成混合模式:
    ALTER LOGIN sa ENABLE;
    GO
    sp_configure 'show advanced options', 1;
    GO
    RECONFIGURE;
    GO
    sp_configure 'mixed authentication mode', 1;
    GO
    RECONFIGURE;
    GO
    
    改完重启SQL Server服务:
    sudo systemctl restart mssql-server
    

2. 重新安装ODBC Driver 17,确保依赖完整

有时候驱动安装不全也会导致登录失败,咱们彻底卸载重装一次:

  • 先卸载现有驱动和工具:
    sudo apt-get remove --purge msodbcsql17 mssql-tools
    
  • 重新添加微软的软件源,再安装:
    curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
    curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
    sudo apt-get update
    sudo apt-get install -y msodbcsql17 mssql-tools
    
  • 把mssql-tools的路径加到环境变量里,避免后续命令找不到:
    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
    source ~/.bashrc
    

3. 检查登录参数是否正确

别小看这个,很多时候是参数输错了:

  • 本地连接的话,服务器地址用localhost或者127.0.0.1都可以,要是远程连接得确认IP和默认端口1433是否正确
  • 密码要注意大小写(SQL Server密码是区分大小写的),用户名默认不区分但也别输错
  • 可以尝试指定端口登录,避免端口冲突:
    sqlcmd -S localhost,1433 -U sa -P 你的密码
    

4. 排查防火墙是否拦截了连接

如果是远程连接SSMS,Ubuntu的防火墙可能挡住了1433端口:

  • 开放1433端口:
    sudo ufw allow 1433/tcp
    sudo ufw reload
    
  • 检查防火墙状态确认端口已开放:
    sudo ufw status
    

5. 确认SQL Server服务在正常运行

有时候服务意外停了也会导致登录失败:

sudo systemctl status mssql-server

如果显示未运行,启动它:

sudo systemctl start mssql-server

顺便设置开机自启,避免下次重启后服务没起来:

sudo systemctl enable mssql-server

要是上面的步骤都试过还是不行,可以去看SQL Server的错误日志,里面会有更详细的错误细节:

sudo cat /var/opt/mssql/log/errorlog

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 09:37:36