SQL Error Log 的位置

通过查看SQL error Log, 可以确保操作过程都成功完成(比如说, 备份, 还原操作, 批命令, 或者其他的脚本和过程). 特别是如果一个SQL server实例被停止或重启的时候,查看SQL error log对于检测任何当前的或者潜在的问题领域非常有用, 领域包括自动恢复消息(automatic recovery messages ), 内核消息, 或者其他的服务器等级的错误消息.  

 

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

 

默认情况下, sql error log的位置在:

%PROGRAMFILES%\Microsoft SQL Server\MSSQL.n\MSSQL\LOG\ERRORLOG and ERRORLOG.N

 

尽管sp_cycle_errorlog这个系统存储过程可以用来指定在不重启SQL Server实例的情况下循环记录日志文件, 每次当一个SQL Server Instance启动的时候, 一个新的error log就会被创建出来. 典型地, SQL Server会保留之前的六个日志, 并且给予最近的备份日志以后缀名.1, 第二个最近的给予后缀名.2, 以此类推.

 

当前的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

 

摘自:

Viewing the SQL Server Error Log

http://msdn.microsoft.com/en-us/library/ms187885.aspx

Reading the SQL Server log files using TSQL

http://www.mssqltips.com/sqlservertip/1476/reading-the-sql-server-log-files-using-tsql/

posted on 2010-03-15 10:07  中道学友  阅读(2453)  评论(0编辑  收藏  举报

导航

技术追求准确,态度积极向上