sp_readerrorlog

通过查看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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值