SqlServer 错误日志切换和查看

原文: 点击打开链接

Sql Server 日志 和 代理错误日一般在实例重启后自动切换,如果实例久未重启,将可能积累太多的日志,不方便查看.

 

 

查看错误日志大小:

 

[sql] view plain copy

  1. --查看日志大小  
  2. EXEC xp_enumerrorlogs   --sqlserver错误日志  
  3. EXEC xp_enumerrorlogs 1 --sqlserver错误日志  
  4. EXEC xp_enumerrorlogs 2 --代理日志  

 

 

 

 

 

日志切换:(需要权限: sysadmin 固定服务器角色的成员)

 

[sql] view plain copy

  1. --  "Sql Server 日志"切换  
  2. exec msdb.dbo.sp_cycle_errorlog  
  3.   
  4. --  "代理错误日志"切换  
  5. exec msdb.dbo.sp_cycle_agent_errorlog  


日志查看:

 

 

 

 

[sql] view plain copy

  1. --  日志查看  
  2. exec xp_readerrorlog @FileNum,@Type,@SearchText1,@SearchText2,@StartTime,@EndTime,@order  
  3.   
  4. @FileNum : 日志编号  
  5. @Type : 查询类型(1:Sql Server 日志 ; 2:代理错误日志)  
  6. @SearchText1 : 搜索文本  
  7. @SearchText2 : 搜索文本(与 @SearchText1 为"与"关系)  
  8. @StartTime : 日志查询起始时间  
  9. @StartTime : 日志查询结束时间  
  10. @order : 时间排序(ASC 或 DESC)  


示例:

 

 

[sql] view plain copy

  1. --  查看当前"Sql Server 日志"死锁  
  2. exec xp_readerrorlog 0,1,'deadlock victim',NULL,'2015-06-01','2015-06-30','desc'    
  3.   
  4. --  查看第二个"Sql Server 日志" 文本中有 "error" 和 "Server" 的行  
  5. exec xp_readerrorlog 1,1,'error','Server','2015-06-01','2015-06-30','asc'    
  6.   
  7. --  查看当前"代理错误日志" 文本中有 "错误" 的行  
  8. exec xp_readerrorlog 0,2,'错误',NULL,NULL,NULL,'desc'    

查看错误日志的方法: 

--如果SQL Server还能正常使用,直接查看一下最近的错误日志
EXEC xp_readerrorlog

--或者先查到路径,再查看文本
--查找错误日志路径
SELECT [path] FROM sys.traces AS t
/*
D:\Program Files\Microsoft SQL Server\MSSQL12.SQLSERVER2014\MSSQL\Log\log_1019.trc
*/
--上面的路径,去掉最后面的文件,进入对应目录, 用 notepad++ 或 记事本 打开 ERRORLOG 文件,查看最近的错误日志

--如果SQL Server不能正常使用,那就进入到服务,右键“属性”,“可执行文件路径”,复制出来,进入相应的Log文件夹
--当然,这个与日志的路径是有区别的,需要参照上面最后一个文件夹改一下
/*
D:\Program Files\Microsoft SQL Server\MSSQL12.SQLSERVER2014\MSSQL\Binn\sqlservr.exe
*/


 

你可能感兴趣的:(SQL,Server,-,常用代码)