日常管理SQL SERVER时需要经常查看日志文件,但直接查看SQL SERVER错误日志很慢,也很不方便。借助SQL SERVER提供的xp_ReadErrorLog存储过程,可以很方便的查看错误日志。本文将与大家分享该扩展存储过程的参数特性,并举例说明如何使用该存储过程。
图2 SQL Server 2005中使用xp_ReadErrorLog读取当前错误日志
SQL Server 2005下该扩展存储过程与SQL Server 2000是不一样的。如果在SQL Server 2000中执行 xp_ReadErrorLog,得到以下的界面:
图3 SQL Server 2000中使用xp_ReadErrorLog读取当前错误日志
现在,让我们看看参数 2。以下语句表示读取当前SQL Server代理日志。另外,请注意当使用参数2时,扩展存储过程的输出结果的栏标题也在发生变化。
xp_ReadErrorLog 0,2
执行后,将得到类似以下的界面:
图4 SQL Server 2005中使用xp_ReadErrorLog读取SQL 代理的当前日志
现在我们知道,我们可以看到SQL错误日志和SQL代理日志两种类型的日志,所以现在让我们看看参数3和参数4。这两个参数可以用来从日志文件中根据我们实际需要进行检索。例如, 下面这个语句将读取当前的SQL错误日志中返回行同时包含“Failed”和“login”的数据行。这使得我们的管理员能够很容易从SQL错误日志检索这些用户登录失败的日志条目。命令语句如下:
xp_ReadErrorLog 0, 1, 'Failed', 'login'
执行后,将得到类似以下的界面:
图5 使用xp_ReadErrorLog检索用SQL错误日志中户登录失败的条目
3、结束语
扩展存储过程(xp)是直接运行在SQL Server地址空间里的动态链接库,是通过使用SQL Server开放数据服务API开发的。我们可以在“查询分析器”或SQL Server Management Studio中( SSMS )里运行扩展存储过程。大多数情况下,只能具有系统管理员权限的用户才能够执行这些扩展存储过程。