读取SQL SERVER日志文件

时间:2015-10-12 07:41:14

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

我的SQL Server 2008 R2生产服务器遭遇停机并完全停机。我们必须重新启动VM才能恢复它。该服务器上运行了多个作业,我怀疑是由于并发问题导致服务器出现故障。但是,为了了解根本原因,我在服务器上使用以下功能:

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

然而,它显示了重启后发生的事务。你们能提出任何方法来了解根本原因吗?提前谢谢。

1 个答案:

答案 0 :(得分:3)

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

由于多种原因,日志是错误的地方:

  • 每个数据库都有一个日志。因此,您无法查看 日志,而是查看一个日志。
  • 日志不应由人类阅读
  • 日志不捕获错误信息

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

  • 整个服务器只有一个ERRORLOG
  • ERRORLOG是供人阅读的文字
  • 错误和异常可能会在ERRORLOG中找到。

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

最有可能导致崩溃的原因记录在ERORRLOG.1

的末尾