以下是CentOS中SQL Server故障排查指南:
检查服务状态
sudo systemctl status mssql-server # 查看服务是否运行 sudo systemctl start mssql-server # 启动服务(若未运行)
查看日志文件
/var/log/mssql/errorlog
,分析错误信息定位问题。journalctl -u mssql-server
查看系统日志。验证网络与端口
ping <服务器IP>
。telnet <服务器IP> 1433
(默认端口),确保防火墙放行:sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent sudo firewall-cmd --reload
检查权限与配置
/var/opt/mssql
属主为 mssql:mssql
。/etc/mssql/mssql.conf.d/90-sqlservr.conf
检查 listen_addresses
是否为 0.0.0.0
。处理数据库问题
sudo /opt/mssql/bin/sqlservr -m # 单用户模式 sqlcmd -S localhost -U SA -Q "DBCC CHECKDB ('数据库名') REPAIR_ALLOW_DATA_LOSS" ```(注意:`REPAIR_ALLOW_DATA_LOSS` 可能导致数据丢失,需提前备份)
监控系统资源
top
、free -m
、df -h
检查CPU、内存、磁盘空间是否充足。客户端工具验证
msodbcsql
、sqlcmd
),测试连接:sqlcmd -S localhost -U SA -P '密码'
其他高级排查
getenforce
,若为 Enforcing
可临时设为 Permissive
模式。提示:操作前建议备份重要数据,若问题无法解决可参考微软官方文档或社区论坛。