centos

centos sqlserver故障怎么排查

小樊
41
2025-08-06 20:33:44
栏目: 云计算

以下是CentOS上SQL Server故障的排查步骤:

  1. 检查服务状态

    sudo systemctl status mssql-server  # 查看服务是否运行  
    sudo systemctl start mssql-server   # 若未运行,启动服务  
    
  2. 查看日志文件

    • 错误日志:/var/log/mssql/errorlog,定位具体错误信息。
    • 系统日志:journalctl -u mssql-server,查看服务启动过程及异常。
  3. 验证配置文件

    • 检查/etc/mssql/mssql.conf.d/90-sqlservr.conf,确保listen_addresses0.0.0.0(监听所有接口)。
  4. 排查网络与防火墙

    • 测试网络连通性:ping 服务器IP,确保服务器可达。
    • 检查端口开放:telnet 服务器IP 1433,确认1433端口监听正常。
    • 开放防火墙端口(若启用):
      sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent  
      sudo firewall-cmd --reload  
      
  5. 处理权限与文件问题

    • 修复目录权限: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"  
      
  6. 检查客户端工具与连接

    • 确保安装客户端工具(如msodbcsqlsqlcmd):
      sudo yum install -y mssql-tools unixODBC-devel  
      echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile  
      source ~/.bash_profile  
      ```。  
      
    • 验证连接字符串参数(服务器地址、端口、用户名、密码)是否正确。
  7. 其他高级排查

    • 检查SELinux状态:getenforce,若为Enforcing可临时设为Permissive测试(生产环境需谨慎)。
    • 确认系统资源充足(内存、磁盘空间),可通过topdf -h命令查看。

提示:若以上步骤无法解决,建议参考Microsoft官方文档或联系技术支持。

0
看了该问题的人还看了