declare @LgReads bigint select @LgReads=cntr_value from master.dbo.sysperfinfo where counter_name='Page lookups/sec' if object_id(N'tempdb.dbo.#waits') is not null GOTO InsertTb if object_id(N'tempdb.dbo.#waits') is null GOTO CreateTb CreateTb: create table #waits (type varchar(128), req bigint, waittime bigint, signal bigint) GOTO InsertTb InsertTb: insert into #waits exec('dbcc sqlperf(waitstats)') --insert into WaitsLog (DT,CPU,Locks,Reads,Writes,Network,PhReads,PhWrites,LgReads) select getdate() AS DT, CAST(@@CPU_BUSY * CAST(@@TIMETICKS AS FLOAT) / 1000 AS BIGINT) as CPU, -- in milliseconds sum(convert(bigint, case when type like 'LCK%' then waittime else 0 end)) as Locks, sum(convert(bigint, case when type like 'LATCH%' or type like 'PAGELATCH%' or type like 'PAGEIOLATCH%' then waittime else 0 end)) as Reads, sum(convert(bigint, case when type like '%IO_COMPLETION%' or type='WRITELOG' then waittime else 0 end)) as Writes, sum(convert(bigint, case when type in ('NETWORKIO','OLEDB') then waittime else 0 end)) as Network, @@TOTAL_READ AS PhReads, @@TOTAL_WRITE AS PhWrites, ISNULL(@LgReads, 0) AS LgReads from #waits