首页 | 登录 | 注册 | 会员中心 | 网站地图
  当前位置:首页 >> 网管 >> 数据库 >> SQL Server >> 在SQL Server 2005中使用xp_ReadErrorLog读取错误日志
在SQL Server 2005中使用xp_ReadErrorLog读取错误日志
来源:IT专家网 作者: 发布时间:2008-09-26
  日常管理SQL Server时需要经常查看日志文件,但SQL Server错误日志变得很大(虽然有不同编号的几个日志文件),在查看时还是显得很慢,查找也不太方便,SQL Server提供的一个扩展存储过程:xp_ReadErrorLog,借助这个存储过程,可以很方便的查看错误日志。本文将与大家分享该扩展存储过程的参数特性,并举例说明如何使用该存储过程。

  1、参数特性

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

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

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

xp_enumerrorlogs执行结果

  图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' 表示倒序

  2、举例说明

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

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

  xp_ReadErrorLog

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

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

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

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

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

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

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

  xp_ReadErrorLog 0,2

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

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

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

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

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

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

使用xp_ReadErrorLog检索用SQL错误日志中户登录失败的条目

  图5 使用xp_ReadErrorLog检索用SQL错误日志中户登录失败的条目

  3、结束语

  扩展存储过程(xp)是直接运行在SQL Server地址空间里的动态链接库,是通过使用SQL Server开放数据服务API开发的。我们可以在“查询分析器”或SQL Server Management Studio中( SSMS )里运行扩展存储过程。大多数情况下,只能具有系统管理员权限的用户才能够执行这些扩展存储过程。

(责任编辑:IORI)
网友评论
评论加载中…
快速检索
推荐专题
Linux中文环境
漏洞扫描全搜索
Solaris 基础知识入门
注册表 入门基础及修改技巧
友情链接 | 欢迎投稿 | 杂志发行 | 广告报价 | 人才招聘 | 服务条款 | 免责声明 | 隐私保护 | 关于网管员世界
CopyRight © 2001-2008 [网管员世界 www.365master.com] All Rights Reserved.
《网管员世界》杂志,专为网管服务的刊物!