沃梦达 / 编程技术 / 数据库 / 正文

SQLSERVER查看数据库日志方法与语句示例代码(已亲测)

在数据库使用很久后日志文件会累计的越来越大,如果硬盘空间不足可能会导致宕机,下面这篇文章主要给大家介绍了关于SQLSERVER查看数据库日志方法与语句的相关资料,需要的朋友可以参考下

SQLSERVER查看数据库日志方法和语句示例,已亲测。

首先需要查看日志大小:

EXEC sys.sp_enumerrorlogs; 可以获取存档编号(0指实时的),日期,日志大小

方法一

使用sql_devlopment工具;这里具体不在详细介绍了,很简单;

方法二

**使用自带的 ​xp_readerrorlog 过程 **

xp_readerrorlog​ 一共有7个参数

  1. 存档编号 (EXEC sys.sp_enumerrorlogs)获取
  2. 日志类型(1为SQL Server日志,2为SQL Agent日志(也就是代理日志))
  3. 查询包含的字符串
    + 读取当前SQL Server错误日志并搜索文本“警告”
    + EXEC xp_ReadErrorLog 0, 1, N’Warning’
  4. 查询包含的字符串
  5. LogDate开始时间
    1. 搜索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’
  6. 结果排序,按LogDate排序(可以为降序"Desc" Or 升序"Asc")
  7. 结果排序,按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'

总结

到此这篇关于SQLSERVER查看数据库日志方法与语句的文章就介绍到这了,更多相关SQLSERVER查看数据库日志内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!

本文标题为:SQLSERVER查看数据库日志方法与语句示例代码(已亲测)

基础教程推荐