SQLSERVER查看数据库日志方法与语句示例代码(已亲测)
cai_code 人气:0SQLSERVER查看数据库日志方法和语句示例,已亲测。
首先需要查看日志大小:
EXEC sys.sp_enumerrorlogs; 可以获取存档编号(0指实时的),日期,日志大小
方法一
使用sql_devlopment工具;这里具体不在详细介绍了,很简单;
方法二
**使用自带的 xp_readerrorlog 过程 **
xp_readerrorlog 一共有7个参数:
- 存档编号 (EXEC sys.sp_enumerrorlogs)获取
- 日志类型(1为SQL Server日志,2为SQL Agent日志(也就是代理日志))
- 查询包含的字符串
+ 读取当前SQL Server错误日志并搜索文本“警告”
+ EXEC xp_ReadErrorLog 0, 1, N’Warning’ - 查询包含的字符串
- LogDate开始时间
- 搜索2019年11月7日午夜至9 AM之间的关键字
+ EXEC xp_readerrorlog 0, 1, N’Recovery’, N’‘, N’2019-11-07 00:00:01.000’, N’2019-11-07 00:00:01.000’,N’2019-11-07 09:00:01.000’
- 搜索2019年11月7日午夜至9 AM之间的关键字
- 结果排序,按LogDate排序(可以为降序"Desc" Or 升序"Asc")
- 结果排序,按LogDate排序(可以为降序"Desc" Or 升序"Asc")
以下为几个简单示例,供大家参考,核心为上访参数。
1)查询当前SQL Server日志信息
Exec xp_readerrorlog 0 Go
2)查询存档编号为n(n Between 0 And 99)的SQL Server日志信息
Exec xp_readerrorlog n
3)根据时间范围查询SQL Server日志信息
Exec xp_readerrorlog 1,1,Null,Null,‘20091126 20:10',‘20091126 20:40',‘Asc'
4)根据时间查看死锁
exec xp_readerrorlog 0,1,NULL,NULL,‘2016-10-24',‘2016-10-30',‘desc'
总结
加载全部内容