检查服务状态
使用systemctl status mssql-server命令确认SQL Server服务是否正在运行。若未运行,通过sudo systemctl start mssql-server启动服务;若启动失败,继续下一步排查。
查看错误日志
SQL Server的详细错误日志位于/var/log/mssql/errorlog,使用tail -f /var/log/mssql/errorlog实时查看最新错误信息,这是定位问题的核心依据。
检查系统资源
top或htop监控CPU、内存使用率,若资源占用过高(如内存不足),需优化查询、增加资源或调整SQL Server配置(如max server memory);df -h检查磁盘空间,确保SQL Server数据目录所在分区有足够空间(建议预留20%以上)。验证网络与连接
ping <服务器IP>测试网络连通性;netstat -tulnp | grep 1433(默认端口)检查SQL Server是否监听正确端口;sudo ufw allow 1433/tcp开放防火墙端口(若启用ufw)。现象:安装或启动时提示缺少库文件(如libldap-2.4-2、libssl1.0.0)。
解决方法:
sudo apt install -y curl gnupg apt-transport-https;libldap-2.4-2问题,可下载并安装对应包(如libldap-common_2.4.47dfsg.4-1eagle_all.deb、libldap-2.4-2_2.4.47dfsg.4-1eagle_amd64.deb),再重新尝试安装SQL Server。现象:服务无法启动、连接失败或功能异常(如无法使用SA账户登录)。
解决方法:
sudo /opt/mssql/bin/mssql-conf setup重新设置;mssql.conf配置文件(位于/etc/mssql/),确认memory.memorylimitmb(内存限制)、network.tcpport(端口)等参数设置正确;mssql-conf命令)。现象:高CPU使用率、内存压力大、磁盘I/O瓶颈或查询缓慢。
解决方法:
SELECT *)、使用存储过程减少网络传输、限制并发连接数;max server memory参数(如设置为物理内存的70%),避免SQL Server占用过多内存;DBCC CHECKDB修复数据库碎片、优化表分区策略;sp_who2查看阻塞进程,调整事务隔离级别(如使用READ COMMITTED SNAPSHOT)。现象:无法通过sqlcmd或应用程序连接到SQL Server。
解决方法:
sqlcmd -S localhost -U SA -P <密码>测试本地连接,若成功则排查网络或客户端配置;现象:安装过程中提示“不支持的操作系统版本”或功能无法使用。
解决方法:
sudo apt update && sudo apt upgrade);amd64架构)。mcr.microsoft.com/mssql/server镜像)。