CentOS下SQL Server故障排查步骤如下:
-
检查服务状态:
sudo systemctl status mssql-server若未运行,启动服务:
sudo systemctl start mssql-server -
查看日志:
- 错误日志:
/var/log/mssql/errorlog - 系统日志:
journalctl -u mssql-server
- 错误日志:
-
检查权限:
确保/var/opt/mssql目录权限正确:sudo chown -R mssql:mssql /var/opt/mssql -
验证配置文件:
检查/etc/mssql/mssql.conf.d/90-sqlservr.conf,确保listen_addresses为0.0.0.0。 -
处理防火墙与网络:
- 开放1433端口:
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent sudo firewall-cmd --reload - 测试网络连通性:
ping服务器IP,telnet服务器IP 1433端口。
- 开放1433端口:
-
排查客户端连接:
- 确保安装客户端工具(
msodbcsql、sqlcmd)并配置正确。 - 检查连接字符串参数(服务器地址、端口、用户名、密码)。
- 确保安装客户端工具(
-
处理特殊场景:
- 若服务启动失败,尝试单用户模式排查数据库文件问题:
sudo /opt/mssql/bin/sqlservr -m若发现损坏,使用
DBCC CHECKDB修复(注意可能丢失数据)。
- 若服务启动失败,尝试单用户模式排查数据库文件问题:
-
其他高级检查:
- 临时关闭SELinux测试是否为策略限制:
sudo setenforce 0。 - 确认系统资源(内存、磁盘空间)充足,避免因资源不足导致服务异常。
- 临时关闭SELinux测试是否为策略限制:
若以上步骤无法解决,建议参考Microsoft官方文档或联系技术支持。