【问题标题】:Reading SQL SERVER Log file读取 SQL SERVER 日志文件
【发布时间】:2015-10-12 07:41:14
【问题描述】:

我的 SQL Server 2008 R2 生产服务器出现中断并完全停机。我们必须重新启动 VM 才能使其重新发挥作用。该服务器上正在运行多个作业,我怀疑这是由于并发问题导致服务器宕机。但是,为了了解根本原因,我在我的服务器上使用了以下函数:

         select [Current LSN],
         [Operation],
         [Transaction Name],
         [Transaction ID],
         [Transaction SID],
         [SPID],
         [Begin Time]
         FROM   ::fn_dblog(null,null)

但是,它向我显示了重启后发生的事务。你们能建议任何方法来了解根本原因吗?提前致谢。

【问题讨论】:

  • fn_dblog 是读取事务日志的无证函数,所以它确实不是正确的地方
  • 是的,詹姆斯,我错过了这个。此外,一旦服务器重新启动,事务日志就会被清除。

标签: sql sql-server sql-server-2008 database-administration


【解决方案1】:

您可能想查看 ERRORLOG,而不是日志。

日志放错地方有很多原因:

  • 每个数据库都有一个日志。所以你不能查看日志,只能查看一个日志。
  • 日志不适合人类阅读
  • 日志没有捕获错误信息

另一方面,ERRORLOG 是正确的位置,原因如下:

  • 整个服务器只有一个 ERRORLOG
  • ERRORLOG 是供人类阅读的文本
  • 错误和异常可能在 ERRORLOG 中被追踪到

有关于Viewing the SQL Server Error Log的文章,但我的建议是简单地在记事本中打开错误日志并阅读。请记住,错误日志是循环的,因此在上次服务器重新启动时,旧的错误日志被重命名为 ERRORLOG.1,并打开了一个新的 ERRORLOG。如果发生多次重启,则相关的错误日志可能会更早,如 ERRORLOG.2、ERRORLOG.3 等。您需要根据时间识别正确的错误日志。错误日志中的每个条目都带有时间戳。寻找活动时间附近的条目。

很可能导致崩溃的原因记录在 ERORRLOG.1 的末尾

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-09
    • 2013-11-23
    • 2012-08-08
    相关资源
    最近更新 更多