SQLServerITA

SQL Server e non solo

  • marzo: 2012
    L M M G V S D
    « Feb   Apr »
     1234
    567891011
    12131415161718
    19202122232425
    262728293031  
  • Blog Stats

    • 16,179 hits
  • Inserisci il tuo indirizzo e-mail per iscriverti a questo blog e ricevere notifiche di nuovi messaggi per e-mail.

    Segui assieme ad altri 6 follower

SQL Server: processi bloccati

Posted by belthazor78 su 25 marzo 2012


Bellissimo e utilissimo script che ho trovato al seguente link http://www.symantec.com/business/support/index?page=content&id=HOWTO9817

Lo script, che vi copierò per interno anche in questo post per evitare che possa andar perso, ci illustrerà tutta la catena di blocchi che possono capitare su una nostra istanza SQL con dettagli su quale SPID blocca e chi viene bloccato con relativi comandi eseguiti. Davvero utile. E’ stato provato con SQL Server 2005 e 2008 R2.

/*
HOWTO9817 SQL Process Blocks information script
Updated January, 2012
*/

set transaction isolation level read uncommitted

select db.name [Database],
procs1.spid SPID, procs1.blocked [Blocking SPID],
case
when blocked = 0
then ‘**Block Chain Root**’
when blocked > 0
then ‘Blocked by: ‘ + cast(procs1.blocked as CHAR(10))
end [Status],
procs1.text [Event Info], procs2.text [Blocking Event Info],
procs1.cpu [CPU Time], procs2.cpu [Blocking CPU Time],
procs1.physical_io [Disk IO], procs2.physical_io [Blocking Disk IO]
from
(
select procs.dbid, procs.spid, procs.blocked, procs.cpu, procs.physical_io, sql.text
from sys.sysprocesses procs
outer apply   sys.dm_exec_sql_text(procs.sql_handle) sql
) procs1

join sys.sysdatabases db
on procs1.dbid = db.dbid
outer apply
(
select procs.spid, procs.cpu, procs.physical_io, sql.text
from sys.sysprocesses procs
outer apply   sys.dm_exec_sql_text(procs.sql_handle) sql
where procs.spid = procs1.blocked
) procs2

where procs1.blocked > 0
–find block chain root
or
(
procs1.blocked = 0
and procs1.spid in
(
select blocked
from sys.sysprocesses
)
)
and db.name = db_name()
–put block chain roots at the top
order by procs1.blocked

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

 
%d blogger cliccano Mi Piace per questo: