it-swarm.com.de

Suchen Sie die gesperrte Tabelle in SQL Server

Wie können wir herausfinden, welche Tabelle in der Datenbank gesperrt ist? Bitte vorschlagen.

31
user47957

Sie können sp_lock (und sp_lock2), aber ab SQL Server 2005 wird dies zu Gunsten der Abfrage 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

Verwenden Sie beim Lesen von sp_lock-Informationen die Funktion OBJECT_NAME (), um den Namen einer Tabelle anhand ihrer ID-Nummer abzurufen. Beispiel:

SELECT Objektname (16003073)

EDIT:

Es gibt einen weiteren von Microsoft bereitgestellten Proc, der Objekte ohne die ID-Übersetzung meldet: http://support.Microsoft.com/kb/q255596/

8
Learning