Ich erfasse locks_lock_timeouts_greater_than_0
-Ereignisse mit erweiterten Ereignissen in SQL Server. Die Ereignissitzung folgt:
Wie kann ich feststellen, welches Objekt gesperrt ist und wer es gerade sperrt?
AKTUALISIEREN : Ich brauche dies für SQL Server 2008. Wie kann ich Sperrzeitüberschreitungen bei Versionen vor 2012 debuggen?
Es sieht so aus, als ob die gewünschten Informationen von diesem Ereignis nicht erfasst werden.
Sie können sehen, welche Felder für ein Ereignis verfügbar sind:
%Vor%das Ergebnis ist:
%Vor% In SQL 2012 wurde dieses Ereignis jedoch durch
Daraus konnte ich die Datenbank (database_id) und in meinem Fall Tabelle (verschiedentlich in object_id, associated_object_id, resource_0) von ihren Ids ableiten.
Ich habe keinen offensichtlichen Weg gesehen, zu finden, wer das Objekt von den von diesem Ereignis erfassten Daten abschließt.
BEARBEITEN - siehe Zeitlimit für SQL Server-Sperre überschritten Datensätze in einer Schleife löschen für ein Beispiel zur Verwendung von sp_lock und sp_who2 zum Debuggen der Ursache eines Sperrzeitlimitereignisses.
Tags und Links sql-server sql-server-2008 tsql locking extended-events