跳到主要内容
常见问题 SQL Server错误日志故障定位

怎么读 SQL Server 错误日志定位服务故障?

SQL Server 错误日志(ERRORLOG)的位置、用 T-SQL 读取的命令,以及从日志行里提炼服务故障根因的方法。

发布于 2026/11/11 所属频道 SQL Server

简短答案

错误日志是引擎自己的第一手记录,位置在实例数据目录下的 ERRORLOG(无扩展名),引擎正常时在 SSMS 里也能用 T-SQL 直接读。服务起不来时直接打开文件;读法是从故障时间点倒着往上翻,找最后一段报错。

日志位置与读取

-- 引擎正常时:看当前日志
EXEC xp_readerrorlog;
-- 看上一个滚动日志(第 1 份历史)
EXEC xp_readerrorlog 1;
  • 文件路径:<数据目录>\ERRORLOG、ERRORLOG.1……数字越大越旧。
  • 数据目录默认 C:\Program Files\Microsoft SQL Server\<版本号>\MSSQL.<实例>\MSSQL\DATA\,多实例各有一份。
  • 引擎起不来时 SSMS 连不上,直接用文本编辑器打开文件,定位时间点对应段落。

读日志的定位方法

  1. 锁定时间窗:服务失败的时间点往前找 30–60 行。
  2. 认关键字:Cannot open file(文件缺失)、Login failed(认证问题)、port / bind(端口冲突)、tempdb(临时库问题)、license(授权状态告警,非致命)。
  3. 区分致命与告警:启动段落里的错误才是要害,运行期的告警(如许可证剩余天数提示)先记着不慌。
  4. 根因修完后重启服务,再看日志是否干净启动。

日志会滚动(旧日志编号 +1),故障分析要尽快做,避免证据被冲掉;多实例机器上注意看的是目标实例那份日志,别串实例。

操作小结

  1. 位置:实例数据目录 ERRORLOG,按编号从新到旧。
  2. 读法:故障时间点倒翻,认关键字。
  3. 各版本日志位置规则一致,见 SQL Server 2022 Developer、SQL Server 2025 Developer 条目页。

相关链接

本文内容基于公开资料整理,仅供参考;涉及授权与合规的操作请以厂商官方文档为准。

相关推荐下载

按本文主题匹配的官方原版镜像条目

配套 PE 工具

制作启动盘、备份数据、修复引导

其他常见问题

同一集合内的相近主题,按标签与关键词匹配