CentOS环境SQL Server故障排查步骤
- 检查服务状态
使用命令sudo systemctl status mssql-server确认服务是否运行,未运行则启动:sudo systemctl start mssql-server。 - 查看日志文件
- 错误日志:
/var/log/mssql/errorlog,用cat/less/tail查看。 - 系统日志:
journalctl -u mssql-server。
- 错误日志:
- 验证配置文件
检查/etc/mssql/mssql.conf.d/90-sqlservr.conf,确保listen_addresses设为0.0.0.0以监听所有端口。 - 排查网络与防火墙
- 用
ping测试服务器可达性,telnet验证端口连通性。1433 - 开放防火墙端口:
sudo firewall-cmd --add-port=1433/tcp --permanent,然后reload。
- 用
- 处理权限问题
确保/var/opt/mssql目录权限正确:sudo chown -R mssql:mssql /var/opt/mssql。 - 修复数据库文件
若日志提示数据库损坏,可尝试用单用户模式修复:sudo /opt/mssql/bin/sqlservr -m # 单用户模式启动 sudo /opt/mssql/bin/sqlcmd -S localhost -U SA -Q "DBCC CHECKDB ('数据库名') REPAIR_ALLOW_DATA_LOSS" ```(注意:此操作可能导致数据丢失,需提前备份)。 - 客户端连接验证
安装客户端工具msodbcsql和sqlcmd,通过sqlcmd测试连接:sqlcmd -S <服务器IP> -U SA -P <密码>。