J. Mini Asked: 2024-01-30 14:02:54 +0800 CST2024-01-30 14:02:54 +0800 CST 2024-01-30 14:02:54 +0800 CST 我什么时候应该检查错误日志? 772 我的职业生涯多种多样,但我从未在SQL Server 错误日志中找到相关信息。什么情况下我应该考虑检查? sql-server 4 个回答 Voted Best Answer Sean Gallardy 2024-01-30T17:48:41+08:002024-01-30T17:48:41+08:00 我的职业生涯多种多样,但我从未在 SQL Server 错误日志中找到相关信息。 我很高兴您在 SQL Server 上度过了一段轻松的时光:) 什么情况下我应该考虑检查? 一个极其简短的列表是: 每一天,因为谁知道发生了什么。 当出现任何类型的问题时,这不仅仅是表面的查询问题。 当您想了解事物如何运作时。 当您正在寻找新特性/功能/更改时。 毫不夸张地说,我已经解决了最严重的SQL Server 问题,如果没有错误日志,你就等于盲目了。在大多数情况下,如果没有它,就不可能排除故障。 这并不是说错误日志就是您所需要的。如果存在问题或实例的一般运行状况和福利,应始终捕获或检查的基本核心项目是错误日志、系统和应用程序的 Windows 事件日志以及集群日志(如果使用集群)。 J.D. 2024-01-30T21:45:02+08:002024-01-30T21:45:02+08:00 除了肖恩的清单之外,这里还有另外三个案例: 当实例无法正常启动时(如 vonPryz 指出的)。 同样,当数据库无法恢复在线时。 当用户遇到登录失败时。出于安全原因,仅向最终用户显示一般错误消息。描述实际问题的故障排除详细信息存储在 SQL 错误日志中。 Erik Darling 2024-01-31T07:56:00+08:002024-01-31T07:56:00+08:00 好吧,该死。看来我应该更频繁地检查那个东西。通常,它只是充斥着信息,告诉我我的日志备份运行良好。 如果您想要一个免费工具来将错误日志结果的范围缩小到无用的结果,您可能想尝试我的sp_LogHunter。 其背后的想法是只返回至关重要的错误日志条目,而没有所有的废话和废话。 Doug Deden 2024-01-31T06:52:59+08:002024-01-31T06:52:59+08:00 对Sean Gallardy和JD的良好答案进行了一些小补充: 在解决加密连接问题时,我使用了 SQL 错误日志。在启动后的前十或二十秒内,SQL 会告诉您它正在使用的证书。例如: 证书 [Cert Hash(sha1) "B91B739DBF6780EA40F45C8ED9D8F0D2AEBC1EDD"] 已成功加载进行加密。 或者如果它使用自签名证书: 已成功加载自生成证书进行加密。 如果无法加载指定的证书,则会如下所示: TDSSNIClient 初始化失败,错误为 0xd,状态代码为 0x38。原因:获取或使用 SSL 证书时发生错误。检查配置管理器中的设置。数据无效。 它可以是确认 SQL 正在侦听哪个端口的便捷方法。在最初的十到二十秒内你会看到类似这样的东西: 服务器正在侦听 ['any'50481]。 它可以告诉您 SPN 注册是否成功: SQL Server 网络接口库已成功注册 SQL Server 服务的服务主体名称 (SPN) [ MSSQLSvc/myserver.domain.local:50481 ]。
我很高兴您在 SQL Server 上度过了一段轻松的时光:)
一个极其简短的列表是:
毫不夸张地说,我已经解决了最严重的SQL Server 问题,如果没有错误日志,你就等于盲目了。在大多数情况下,如果没有它,就不可能排除故障。
这并不是说错误日志就是您所需要的。如果存在问题或实例的一般运行状况和福利,应始终捕获或检查的基本核心项目是错误日志、系统和应用程序的 Windows 事件日志以及集群日志(如果使用集群)。
除了肖恩的清单之外,这里还有另外三个案例:
如果您想要一个免费工具来将错误日志结果的范围缩小到无用的结果,您可能想尝试我的sp_LogHunter。
其背后的想法是只返回至关重要的错误日志条目,而没有所有的废话和废话。
对Sean Gallardy和JD的良好答案进行了一些小补充:
或者如果它使用自签名证书:
如果无法加载指定的证书,则会如下所示: