温馨提示×

Debian上SQL Server的日志如何查看

小樊
38
2025-11-30 20:59:57
栏目: 云计算

Debian上SQL Server日志查看指南

一、常用日志路径与查看方式

  • 数据库引擎错误日志(最常用):位于 /var/opt/mssql/log/errorlog。实时查看:
    • 查看最新100行:sudo tail -n 100 /var/opt/mssql/log/errorlog
    • 实时跟踪:sudo tail -f /var/opt/mssql/log/errorlog
  • 安装与运行时日志:位于 /var/opt/mssql/log/,常见文件包括 sqlserver.logsetup.log* 等,可用 less/cat/tail 查看。
  • 系统层面日志(排查服务启动失败、崩溃、权限等问题):
    • 系统日志:sudo tail -f /var/log/syslog
    • 使用 systemd 查看服务日志:sudo journalctl -u mssql-server -f
  • 说明:SQL Server on Linux 的错误日志统一在 /var/opt/mssql/log/errorlog,不是 Windows 上的 ERRORLOG 路径。

二、SQL Server错误日志的快速检索

  • 按时间定位当天日志:
    • grep “$(date ‘+%Y-%m-%d’)” /var/opt/mssql/log/errorlog
  • 按关键字过滤(如登录失败、启动失败、严重错误):
    • grep -i “error|fail|login” /var/opt/mssql/log/errorlog
  • 组合检索并高亮:
    • grep -i “error” /var/opt/mssql/log/errorlog | less -p “error”

三、事务日志与数据库层面的日志

  • 查看数据库事务日志内容(注意:仅适用于 FULL/BULK_LOGGED 恢复模式的数据库,且可能返回大量行):
    • SELECT TOP 1000 * FROM sys.fn_dblog(NULL, NULL);
  • 查看数据库最近备份与日志备份信息:
    • SELECT name, recovery_model_desc, log_reuse_wait_desc FROM sys.databases;
  • 提示:fn_dblog() 返回的是事务日志的“活动部分”记录,适合定位最近的事务与日志使用情况,不适合长期归档或审计。

四、服务状态与系统日志联动排查

  • 检查服务是否运行:
    • systemctl status mssql-server
  • 启动/重启服务:
    • sudo systemctl start mssql-server
    • sudo systemctl restart mssql-server
  • 联动查看服务日志与系统日志,快速定位启动或运行期错误:
    • journalctl -u mssql-server -f
    • tail -f /var/log/syslog | grep mssql

五、实用排查命令清单

  • 实时看引擎错误日志:sudo tail -f /var/opt/mssql/log/errorlog
  • 看安装/运行时日志:sudo tail -f /var/opt/mssql/log/sqlserver.log
  • 看系统日志:sudo tail -f /var/log/syslog
  • 看服务日志:sudo journalctl -u mssql-server -f
  • 检查服务状态:systemctl status mssql-server
  • 事务日志内容抽样:SELECT TOP 1000 * FROM sys.fn_dblog(NULL, NULL);
  • 提示:SQL Server 在 Debian 上的服务名是 mssql-server,不是 msql-server 或 sqlserver。

0