T-SQL Tuesday #016 – Blocking Processes – #tsql2sday

Getting your Trinity Audio player ready...

O T-SQL Tuesday desse mês é sobre Aggregate Functions,,,

O código abaixo é bem simples, ele vai exibir algum block que pode estar ocorrendo no SQL nada muito complicado mas é interessante de ter,,,

 1: SET NOCOUNT ON
 2: 
 3: SELECT  a.spid AS "Block" ,
 4:         ( SELECT    COUNT(*)
 5:           FROM      master.dbo.sysprocesses b
 6:           WHERE     b.blocked = a.spid
 7:         ) AS "BlockCount" ,
 8:         ( SELECT    MAX(waittime)
 9:           FROM      master.dbo.sysprocesses b
 10:           WHERE     b.blocked = a.spid
 11:         ) AS "BlockTime" ,
 12:         a.status ,
 13:         a.program_name ,
 14:         a.cmd ,
 15:         a.last_batch
 16: FROM    master.dbo.sysprocesses a
 17: WHERE   a.spid IN ( SELECT  blocked
 18:                     FROM    master.dbo.sysprocesses
 19:                     WHERE   blocked <> 0 )
 20: ORDER BY a.blocked ASC ,
 21:         BlockCount DESC

4 Comments

    1. Claro que pode,,, mas uma coisa não tem muito a ver com a outra,,,
      O sp_who2 mostra todos os spid´s conectados no SQL,,, o meu script mostra qual tipo de bloqueio que está sendo causados e por qual comando, o tempo que está sendo gasto com o bloqueio e algumas outras coisas…
      Uma coisa é uma coisa,,, outra coisa é outra coisa,,,

Leave a Reply to Leka Cancel reply

Your email address will not be published. Required fields are marked *