1、参数特性
扩展存储过程xp_enumerrorlogs有七个参数,以下一一介绍:
l 参数1,整数,指定需要读取的日志文件的存档号。默认值为0,表示读取目前的日志。
可以通过执行扩展存储过程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
执行后,将得到类似以下的界面:

图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 )里运行扩展存储过程。大多数情况下,只能具有系统管理员权限的用户才能够执行这些扩展存储过程。
评论加载中…


当前位置:





