1. 检查SQL Server服务状态
使用systemctl status mssql-server命令确认SQL Server服务是否处于运行状态(显示“active (running)”表示正常)。若服务未启动,可通过sudo systemctl start mssql-server启动服务;若需开机自启,执行sudo systemctl enable mssql-server。
2. 查看系统与SQL Server错误日志
tail -f /var/log/syslog或journalctl -u mssql-server -f实时查看系统日志,过滤SQL Server相关错误(如服务启动失败、权限问题);/var/opt/mssql/log/errorlog,使用cat /var/opt/mssql/log/errorlog或tail -n 100 /var/opt/mssql/log/errorlog查看近期详细错误信息(如数据库崩溃、连接超时)。3. 监控系统资源使用情况
top或htop命令实时查看CPU、内存占用情况,识别高消耗进程(如SQL Server进程占用超过80%内存可能导致性能瓶颈);df -h检查磁盘空间(确保SQL Server数据目录所在分区剩余空间大于10%,避免因磁盘满导致写入失败);iostat -x 1监控磁盘I/O(若await值过高,可能需优化磁盘或调整SQL Server的I/O配置)。4. 验证网络连接与端口配置
ping <SQLServerIP>测试客户端与服务器的网络连通性(若超时,需检查网络设备或IP配置);netstat -tulnp | grep 1433(默认端口)或ss -tulnp | grep mssql确认SQL Server是否在监听指定端口;sudo ufw status查看是否允许1433端口(若未允许,执行sudo ufw allow 1433/tcp放行)。5. 检查SQL Server配置参数
sudo /opt/mssql/bin/mssql-conf list查看当前配置(如memory.memorylimitmb控制SQL Server最大内存使用,network.tcpport设置监听端口);sudo /opt/mssql/bin/mssql-conf set <参数名> <值>修改(如调整内存限制:sudo /opt/mssql/bin/mssql-conf set memory.memorylimitmb 4096),修改后需重启服务生效(sudo systemctl restart mssql-server)。6. 分析SQL Server性能瓶颈
sys.dm_exec_requests:查看当前正在执行的请求(关注wait_type字段,如PAGEIOLATCH_SH表示磁盘I/O等待);sys.dm_exec_sessions:查看当前会话(识别长时间运行的会话或阻塞);sys.dm_os_wait_stats:查看累计等待类型(识别长期性能问题);sqlcmd工具连接并执行查询(如sqlcmd -S localhost -U SA -P <密码> -Q "SELECT * FROM sys.dm_exec_requests")。7. 处理常见依赖与权限问题
libssl1.0.0等库,若缺失可通过sudo apt install -y libssl1.0.0安装;/var/opt/mssql)需属于mssql用户(sudo chown -R mssql:mssql /var/opt/mssql);sysadmin身份运行(通过ALTER LOGIN sa ENABLE;启用SA账户并设置强密码)。8. 重启与更新服务
sudo systemctl restart mssql-server(重启可解决临时性故障,如内存泄漏、锁争用);sudo apt update && sudo apt upgrade升级系统包,确保SQL Server为最新版本(修复已知bug)。