首页主机资讯SQL Server在Ubuntu上故障排查方法

SQL Server在Ubuntu上故障排查方法

时间2025-12-12 10:34:03发布访客分类主机资讯浏览1009
导读:Ubuntu上SQL Server故障排查方法 一 快速定位流程 检查服务状态:运行命令:sudo systemctl status mssql-server --no-pager,确认服务是否active (running ;若异常,先...

Ubuntu上SQL Server故障排查方法

一 快速定位流程

  • 检查服务状态:运行命令:sudo systemctl status mssql-server --no-pager,确认服务是否active (running);若异常,先查看状态输出的报错摘要。
  • 查看系统日志:运行命令:sudo journalctl -u mssql-server -b --no-pager,必要时加 -r 反向输出、-S “2025-12-12 00:00:00” 限定时间范围,快速定位启动或运行期报错。
  • 查看SQL Server错误日志:SQL Server 引擎日志位于 /var/opt/mssql/log/errorlog,可用 sudo tail -f /var/opt/mssql/log/errorlog 实时跟踪;如需检索关键字,可用 grep
  • 验证本地连接:先在本机用 sqlcmd -S 127.0.0.1 -U SA 测试凭据与实例连通性,排除客户端问题后再做远程排查。
  • 复核关键配置:如端口、内存、认证方式等,必要时用 sudo /opt/mssql/bin/mssql-conf 调整并重启服务。
    以上步骤覆盖了服务、系统日志、引擎日志、连通性与配置的闭环排查路径。

二 常见故障与处理要点

  • 服务无法启动
    • 优先查看 /var/opt/mssql/log/errorlogjournalctl 中的首条报错;常见原因包括配置错误、权限不足、资源不足或依赖库缺失。
    • 资源检查:用 df -h 确认磁盘可用空间(建议预留≥2GB),用 free -h 检查内存;资源紧张会导致启动失败或异常退出。
    • 依赖库缺失:如遇 error while loading shared libraries: liblber-2.4.so.2libssl1.1,安装对应包(如 libldap-2.4-2libssl1.1)后重试。
    • 配置变更后需重启:sudo systemctl restart mssql-server
  • 端口与防火墙问题
    • 默认监听端口为 1433;检查占用:sudo ss -ltnp | grep 1433sudo lsof -i :1433;若被占用,处理占用进程或调整 SQL Server 端口。
    • UFW 放行端口:sudo ufw allow 1433/tcp;云主机还需在安全组放通。
  • 远程连接失败
    • 先用本机 sqlcmd -S 127.0.0.1 验证凭据;远程时用 sqlcmd -S < 服务器IP> ,1433 -U SA 测试。
    • 确认网络可达(ping/ telnet 到 1433)、防火墙与安全组策略正确。
  • 加密与证书问题
    • 若启用 TLS/证书,确保证书有效且未过期;证书异常可能导致服务启动或客户端握手失败。
  • 资源瓶颈与性能问题
    • top/htop/vmstat/iostat 观察 CPU/内存/磁盘IO;必要时调整 SQL Server 内存上限等参数并重试。
      以上要点覆盖了最常见的启动、网络、依赖、证书与性能类问题及处置路径。

三 常用命令清单

目标 命令示例
服务状态 sudo systemctl status mssql-server --no-pager
实时系统日志 sudo journalctl -u mssql-server -b -f
引擎错误日志 sudo tail -f /var/opt/mssql/log/errorlog
端口占用 sudo ss -ltnp
本机连通性 sqlcmd -S 127.0.0.1 -U SA
远程连通性 sqlcmd -S ,1433 -U SA
防火墙放行 sudo ufw allow 1433/tcp
重启服务 sudo systemctl restart mssql-server
修改配置 sudo /opt/mssql/bin/mssql-conf set
资源检查 df -h;free -h
以上命令覆盖日常排查的高频操作,便于快速执行与定位。

四 远程连接与加密配置

  • 基础连通性:确保客户端能解析服务器主机名或直接使用 IP;在服务器与网络侧放行 1433/tcp
  • 强制加密场景:客户端连接字符串中设置 Encrypt=True;若使用自签证书或测试环境,可临时设置 TrustServerCertificate=True(生产环境不建议)。
  • 证书健康:若服务因证书错误无法启动或客户端握手失败,检查证书有效期与指纹,必要时重新生成并更新 SQL Server 证书配置。
  • 连接失败速查:本机可连而远程不可连,优先排查 防火墙/安全组端口占用监听地址绑定
    以上做法可系统化解决远程访问与加密相关的连接问题。

五 实用建议

  • 变更前备份关键配置与数据;修改 mssql-conf 后务必重启服务以生效。
  • 日志优先:先查 /var/opt/mssql/log/errorlogjournalctl,多数问题可在日志中找到根因。
  • 资源阈值:保持至少2GB 可用磁盘空间与合理内存余量,避免资源不足引发异常。
  • 工具组合:本地用 sqlcmd 快速验证,远程用 SSMS 进行更深入的诊断与管理。
    这些做法能显著提升排障效率并降低风险。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: SQL Server在Ubuntu上故障排查方法
本文地址: https://pptw.com/jishu/770283.html
Ubuntu上SQL Server备份恢复流程是怎样的 vsftp与FTPES:哪个协议更安全

游客 回复需填写必要信息