Debian上SQL Server故障如何排查
导读:Debian 上 SQL Server 故障排查清单 一 快速定位流程 确认服务状态:运行 sudo systemctl status mssql-server,若未运行则执行 sudo systemctl start mssql-ser...
Debian 上 SQL Server 故障排查清单
一 快速定位流程
- 确认服务状态:运行 sudo systemctl status mssql-server,若未运行则执行 sudo systemctl start mssql-server 并设置开机自启 sudo systemctl enable mssql-server。
- 查看引擎日志:使用 tail -f /var/opt/mssql/log/errorlog 获取启动失败、登录失败、端口监听等第一手线索。
- 查看系统日志:用 journalctl -u mssql-server -xe 或 tail -f /var/log/syslog 捕捉服务启动/崩溃/资源异常信息。
- 本机连通性自检:执行 sqlcmd -S localhost -U SA -P ‘’,能连上说明引擎与本地认证基本正常。
- 资源与磁盘:检查 df -h(磁盘空间)、free -m / top(内存/CPU),避免因 磁盘满 或 OOM 导致异常。
二 常见故障与修复要点
- 服务无法启动
- 查日志定位根因:tail -f /var/opt/mssql/log/errorlog;必要时用 journalctl -u mssql-server -xe 查看 systemd 报错。
- 修复后重启:sudo systemctl restart mssql-server。
- 远程连接失败
- 防火墙放行:
- UFW:sudo ufw allow 1433/tcp
- firewalld:sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent & & sudo firewall-cmd --reload
- 确认监听端口:在服务器上执行 sudo ss -lntp | grep 1433 或 netstat -an | grep 1433,确保 TCP 1433 处于监听。
- 远程连接测试:从客户端执行 sqlcmd -S < 服务器IP或主机名> ,1433 -U SA -P ‘’。
- 防火墙放行:
- 身份验证与连接字符串
- 核对 SA 密码与连接字符串语法;若使用 Windows 身份验证,需确认环境已正确配置以支持从 Linux 进行 Windows 身份验证。
- 客户端驱动问题
- 确认驱动 sqlsrv.so 路径正确,使用 ldd sqlsrv.so 检查依赖是否缺失;必要时设置 LD_LIBRARY_PATH 指向驱动目录。
三 日志与定位命令速查
| 目标 | 命令示例 | 关注点 |
|---|---|---|
| 服务状态 | systemctl status mssql-server | Active/Failed、最近日志片段 |
| 引擎日志 | tail -f /var/opt/mssql/log/errorlog | 启动错误、登录失败、端口监听 |
| 系统日志 | journalctl -u mssql-server -xe | systemd 启动细节、崩溃回溯 |
| 资源使用 | top, free -m, df -h | CPU/内存压力、磁盘空间 |
| 端口监听 | ss -lntp | 是否监听 1433/TCP |
| 远程连通 | sqlcmd -S ,1433 -U SA -P ‘’ | 能否本机/远程登录 |
| 依赖检查 | ldd sqlsrv.so | 驱动依赖是否缺失 |
四 配置与性能优化建议
- 远程访问:确保防火墙放行 1433/TCP,并在网络可达前提下进行远程连接测试。
- 资源与参数:结合负载设置 max server memory,避免因内存争用导致性能劣化或失败;持续监控 CPU/IO/锁等待。
- 工具与方法:在可用的情况下,使用 SSMS 的“性能监视器”、DMV 查询与 SQL Server Profiler 定位慢查询与阻塞。
五 安全与变更注意事项
- 强口令与最小权限:为 SA 设置强密码,生产环境避免使用 SA 进行应用连接,按需创建低权限登录与用户。
- 变更前备份:修改配置或升级前先备份数据库与关键配置,变更后在测试环境验证再上线。
- 官方资源:查阅 Microsoft SQL Server on Linux 官方文档与社区,获取版本特定的参数与已知问题说明。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian上SQL Server故障如何排查
本文地址: https://pptw.com/jishu/766737.html
