在SQL Server 2005中使用xp_ReadErrorLog读取错误日志

转载 2012年03月26日 15:22:51

日常管理SQL SERVER时需要经常查看日志文件,但直接查看SQL SERVER错误日志很慢,也很不方便。借助SQL SERVER提供的xp_ReadErrorLog存储过程,可以很方便的查看错误日志。本文将与大家分享该扩展存储过程的参数特性,并举例说明如何使用该存储过程。

  【IT专家网独家】  日常管理SQL Server时需要经常查看日志文件,但SQL SERVER错误日志变得很大(虽然有不同编号的几个日志文件),在查看时还是显得很慢,查找也不太方便,SQL SERVER提供的一个扩展存储过程:xp_ReadErrorLog,借助这个存储过程,可以很方便的查看错误日志。本文将与大家分享该扩展存储过程的参数特性,并举例说明如何使用该存储过程。

  1、参数特性

  扩展存储过程xp_enumerrorlogs有七个参数,以下一一介绍:

  l 参数1,整数,指定需要读取的日志文件的存档号。默认值为0,表示读取目前的日志。

  可以通过执行扩展存储过程xp_enumerrorlogs得到所有错误日志的列表和它们的最后更改日期。

在SQL Server 2005中使用xp_ReadErrorLog读取错误日志 - chenfang65811395@126 - 发呆虫的博客

   图1 xp_enumerrorlogs执行结果

  需要注意的是,扩展存储过程xp_enumerrorlogs参数(1)的用处等同于xp_ReadErrorLog中的参数2 。值为1表明可用的SQL错误日志,值为2显示代理日志。默认值为1 。

  · 参数2,整数,值为1读取SQL错误日志,值为2读取SQL Server代理的日志,默认值为1。

  · 参数3,变长字符串varchar(255) ,是日志条目的第一个搜索字符串,默认值为空。

  · 参数4,变长字符串varchar(255) ,是日志条目的另一个搜索字符串,默认值为空。

  · 参数5,指定要读取的日志的起始时间

    参数6,指定要读取的日志的结束时间

    参数7,指定查询结果的排列顺序:N'asc' 表示升序,N'desc' 表示倒序

/*

即:

1. 存档编号
2. 日志类型(1为SQL Server日志,2为SQL Agent日志)
3. 查询包含的字符串
4. 查询包含的字符串
5. LogDate开始时间
6. 结果排序,按LogDate排序(可以为降序"Desc" Or 升序"Asc")
7. 结果排序,按LogDate排序(可以为降序"Desc" Or 升序"Asc")

*/

 2、举例说明

  对于扩展存储过程来说,有些隐藏的参数项的定义是类似的,但从SQL Server 2000到SQL Server 2005,其扩展存储过程还是有所变化。以下我们所举的例子,以SQL Server 2005为例,来说明 xp_ReadErrorLog扩展存储过程如何使用。

  以下语句所有参数都不指定,表示读取当前错误日志。

  xp_ReadErrorLog

  执行后,将得到类似以下的界面:

在SQL Server 2005中使用xp_ReadErrorLog读取错误日志 - chenfang65811395@126 - 发呆虫的博客
 

  图2 SQL Server 2005中使用xp_ReadErrorLog读取当前错误日志

  SQL Server 2005下该扩展存储过程与SQL Server 2000是不一样的。如果在SQL Server 2000中执行 xp_ReadErrorLog,得到以下的界面:

在SQL Server 2005中使用xp_ReadErrorLog读取错误日志 - chenfang65811395@126 - 发呆虫的博客 

  图3 SQL Server 2000中使用xp_ReadErrorLog读取当前错误日志

  现在,让我们看看参数 2。以下语句表示读取当前SQL Server代理日志。另外,请注意当使用参数2时,扩展存储过程的输出结果的栏标题也在发生变化。

  xp_ReadErrorLog 0,2

  执行后,将得到类似以下的界面:

在SQL Server 2005中使用xp_ReadErrorLog读取错误日志 - chenfang65811395@126 - 发呆虫的博客 

  图4 SQL Server 2005中使用xp_ReadErrorLog读取SQL 代理的当前日志

  现在我们知道,我们可以看到SQL错误日志和SQL代理日志两种类型的日志,所以现在让我们看看参数3和参数4。这两个参数可以用来从日志文件中根据我们实际需要进行检索。例如, 下面这个语句将读取当前的SQL错误日志中返回行同时包含“Failed”和“login”的数据行。这使得我们的管理员能够很容易从SQL错误日志检索这些用户登录失败的日志条目。命令语句如下:

  xp_ReadErrorLog 0, 1, 'Failed', 'login'

  执行后,将得到类似以下的界面:

在SQL Server 2005中使用xp_ReadErrorLog读取错误日志 - chenfang65811395@126 - 发呆虫的博客

   图5 使用xp_ReadError

Windows XP系统安装SQL Server 2005(开发版)图解

转自 安装前提:由于有些从网上的下载的项目需要导入SQL Server 2005的数据文件,因此,今天便安装了这个数据库,我的系统中已经安装了SQL Server2000所以是在它之...
  • wdjhzw
  • wdjhzw
  • 2014年05月04日 20:51
  • 12256

如何在不提升用户权限的情况下,使普通用户执行xp_cmdshell存储过程2008-11-26 14:09:29SQL Server 2005 及之后的版本

 xp_cmdshell是一个很危险的存储过程,通过它,可以访问操作系统的资源,但有时候我们也需要使用它来实现一些特殊的处理。从安全的角度来考虑,禁用xp_cmdsehll是最保险的,即使为了特殊目的...
  • yatere
  • yatere
  • 2011年05月31日 16:43
  • 1490

xp安装Sql Server 2005

刚看了篇xp操作系统安装免费SqlServer2005操作流程,想到不久前反复折磨Sql的过程,这里分享安装Sql Server 2005开发版。就像《ASP.NET第一步》里写的,数据库是所有程序员...
  • yunhaiC
  • yunhaiC
  • 2011年02月08日 20:35
  • 1630

XP系统安装SQL Server 2005开发版具体过程与注意问题

XP系统安装SQL Server 2005开发版具体过程与注意问题 网址:http://blog.csdn.net/canhui87/article/details/4496313 标签:...

解决SQL Server 2005远程连接错误

连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接,彻底解决此问题的步骤如下:    步骤1.   打开SQL Server Configur...

【Java】【FAQ】Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败

错误原因如下:   Exception in thread "main" org.hibernate.exception.JDBCConnectionException: Cannot open ...

SQL Server 2005 安装问题(错误1706、卸载不完全后安装--无法选择组件、安装失败)解决办法

首先说说”错误1706“。 在安装SQL Server 2005时,到OWC11这一项时,提示“错误1706。安装程序找不到需要的文件。请检查网络连接或 CD-ROM 驱动器状态。对于这个问题的其他可...

Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。。。

错误原因如下: Exception in thread "main" org.hibernate.exception.JDBCConnectionException: Cannot open con...
  • xdjkyb
  • xdjkyb
  • 2012年05月18日 21:31
  • 291

SQL SERVER 2005安装过程中COM+错误解决

SQL2005安装过程提示com+目录问题警告处理 查找联机丛书,有如下提示:    如果未运行 Microsoft 分布式事务处理协调器 (MS DTC),或者,在使用 Microsoft...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在SQL Server 2005中使用xp_ReadErrorLog读取错误日志
举报原因:
原因补充:

(最多只允许输入30个字)