本次例子,追踪系统的阻塞的语句和进程,想要追踪其他事件类(如:存储过程、批处理语句)可以参考联机丛书
可以在sqlserver 代理任务中执行该段语句,监视每天指定时间生产环境阻塞情况分析
--------------------------创建跟踪,跟踪数据库运行中的阻塞情况------------------------
BEGIN
--------------1、开启数据库的高级选项
EXEC sys.sp_configure 'show advanced options', 1 ;
RECONFIGURE ;
--------------2、设定阻塞的阈值,本次设置为10S,超过10S判断为阻塞,写入到阻塞报告中
EXEC sys.sp_configure 'blocked process threshold', 10 ;
RECONFIGURE ;
--------------3、创建跟踪文件
--创建跟踪文件返回值
declare @rc int
--创建一个跟踪句柄
declare @TraceID int
--创建跟踪文件路径
declare @TraceFilePath nvarchar(500)
set @TraceFilePath=N'F:\Sqlserver跟踪文件\XXX4'
--跟踪文件的大小
declare @maxfilesize bigint
set @maxfilesize=5
--设置停止的时间
declare @EndTime datetime
set @EndTime=null
--设置系统默认的操作
declare @options int
set @options=2
--设置默认滚动文件的数目
declare @filecount int
set @filecount=5
exec @rc=sp_trace_Create
@TraceID= @