- 首页 >
- 问答 >
-
云计算 >
- Debian上SQL Server的日志如何查看
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.log、setup.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。