首页 > 代码库 > SqlServer 错误日志切换和查看

SqlServer 错误日志切换和查看

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


技术分享


查看错误日志大小:

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


日志切换:(须要权限: sysadmin 固定server角色的成员)

--	"Sql Server 日志"切换
exec msdb.dbo.sp_cycle_errorlog

--	"代理错误日志"切换
exec msdb.dbo.sp_cycle_agent_errorlog

日志查看:

--	日志查看
exec xp_readerrorlog @FileNum,@Type,@SearchText1,@SearchText2,@StartTime,@EndTime,@order

@FileNum : 日志编号
@Type : 查询类型(1:Sql Server 日志 ; 2:代理错误日志)
@SearchText1 : 搜索文本
@SearchText2 : 搜索文本(与 @SearchText1 为"与"关系)
@StartTime : 日志查询起始时间
@StartTime : 日志查询结束时间
@order : 时间排序(ASC 或 DESC)

演示样例:

--	查看当前"Sql Server 日志"死锁
exec xp_readerrorlog 0,1,‘deadlock victim‘,NULL,‘2015-06-01‘,‘2015-06-30‘,‘desc‘  

--	查看第二个"Sql Server 日志" 文本中有 "error" 和 "Server" 的行
exec xp_readerrorlog 1,1,‘error‘,‘Server‘,‘2015-06-01‘,‘2015-06-30‘,‘asc‘  

--	查看当前"代理错误日志" 文本中有 "错误" 的行
exec xp_readerrorlog 0,2,‘错误‘,NULL,NULL,NULL,‘desc‘  



SqlServer 错误日志切换和查看