risposta-alla-domanda-sullo-sviluppo-web-bd.com

Trova tabella bloccata in SQL Server

Come possiamo trovare quale tabella è bloccata nel database? Per favore, suggeriscilo.

31
user47957

Puoi usare sp_lock (e sp_lock2), ma in SQL Server 2005 in poi questo è deprecato a favore dell'interrogazione sys.dm_tran_locks :

select  
    object_name(p.object_id) as TableName, 
    resource_type, resource_description
from
    sys.dm_tran_locks l
    join sys.partitions p on l.resource_associated_entity_id = p.hobt_id
83
Mitch Wheat

sp_lock

Quando leggi le informazioni sp_lock, usa la funzione OBJECT_NAME () per ottenere il nome di una tabella dal suo numero ID, ad esempio:

SELECT nome_oggetto (16003073)

MODIFICARE :

Esiste un altro proc fornito da Microsoft che riporta oggetti senza la traduzione ID: http://support.Microsoft.com/kb/q255596/

8
Learning