查看MS SQL SERVER 错误日志

查看目的:

  错误日志的查看是确保过程已成功完成(例如,备份和恢复操作,批处理命令,或其他脚本和过程)。这可以帮助检测任何当前或潜在的问题,包括自动恢复信息(尤其是如果SQL Server实例已停止并重新启动),内核信息,或其他服务器级别的错误消息。

存放位置:

     默认情况下, sql error log的位置(SQL SERVER 2005)在:

     %PROGRAMFILES%\Microsoft SQL Server\MSSQL.n\MSSQL\LOG\ERRORLOG and ERRORLOG.N(其中的N表示数字)

     补充(转自潇湘隐者,文章链接见文末):

  

版本

路径

SQL SERVER 2005

Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\LOG

SQL SERVER 2008

Program Files\Microsoft SQL Server\MSSQL10.实例名\MSSQL\LOG

SQL SERVER 2008 R2

Program Files\Microsoft SQL Server\MSSQL10_50.实例名\MSSQL\LOG

    SQL SERVER 2005,默认情况下,错误日志位于 Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\LOG\ERRORLOG 和 ERRORLOG.n 文件中。其中MSSQL.n的区分为:

        MSSQL.1:SQLSERVER

        MSSQL.2:SSAS

        MSSQL.3:SQLExpress

        MSSQL.4:SSRS

    所以,一般情况下,你只需要关注MSSSQL.1目录下的日志文件

 

     打开这个文件夹我们会看到7个ERRORLOG文件,其中有六个分别以1,2,……,6作为后缀,没有后缀的那个表示当前的错误日志。

     每当数据库实例重启时,便会创建一个新的ERRORLOG,SQL Server会保留之前的六个日志, 并且给予最近的备份日志以后缀名.1, 第二个最近的给予后缀名.2, 以此类推。

   若想手工进行错误日志的切换可使用:sp_cycle_errorlog命令,它可以关闭当前的错误日志,并进行顺序切换,1变2,2变3,删除最后一个,

     这个命令可以代替通过重启来切换错误日志,

   也可以使用DBCC ERRORLOG来实现同样的功能。在实际操作中,也可以通过建立一个Job定时去执行该存储过程,这样将日志文件大小控制在合理的范围之内。

查看方式:

     可通过SQL Server Management Studio或者任何的文本编辑器来查看SQL Error Log

     同时,如果只想查看最近的一个SQL Error Log, 并且还不清楚路径的情况下, 可以使用下面的存储过程.

sp_readerrorlog

xp_readerrorlog

      这两个Stored Procedure会带四个参数:

  1. Value of error log file you want to read: 0 = current, 1 = Archive #1, 2 = Archive #2, etc...
  2. Log file type: 1 or NULL = error log, 2 = SQL Agent log
  3. Search string 1: String one you want to search for
  4. Search string 2: String two you want to search for to further refine the results

  例如:

    返回第六个archive了的error log的所有行.

EXEC sp_readerrorlog 6

    返回第六个Error log中的所有带有2005和exec的所有行.

EXEC sp_readerrorlog 6, 1, ‘2005‘, ‘exec‘

     由于 默认Management studio显示结果的长度为256个字符,可能不能查看所有信息,可通过选项进行修改 :

  Tools->Options->Query Results->SQL Server->Results to Text-> Maximum nunber of characters displayed in each column

 

      写完这篇博客又发现有位大师写的(很全)

  

      http://www.cnblogs.com/kerrycode/archive/2013/05/28/3104214.html

 

 

查看MS SQL SERVER 错误日志

上一篇:sql日期补全


下一篇:MySQLdb里insert一个带中文的内容