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

首先需要查看日志大小:

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

方法一

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

方法二

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

  • xp_readerrorlog​ 一共有7个参数

      1. 存档编号 (EXEC sys.sp_enumerrorlogs)获取
      1. 日志类型(1为SQL Server日志,2为SQL Agent日志(也就是代理日志))
      1. 查询包含的字符串
        + 读取当前SQL Server错误日志并搜索文本“警告”
        + EXEC xp_ReadErrorLog 0, 1, N’Warning’
      1. 查询包含的字符串
      1. 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’
      1. 结果排序,按LogDate排序(可以为降序"Desc" Or 升序"Asc")
      1. 结果排序,按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’在这里插入图片描述
在这里插入图片描述
记录不易,您的关注是我的动力,谢谢

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐