Wie kann ich auf Basis von systemtabellen herausfinden wer was blockiert, also was ich suche ist ein select wo ich als Parameter Datenbank und/oder Tabelle eingeben kann und der liefert mir das Objekt (Software, NT/User) der die Sperre verursacht
Announcement
Collapse
No announcement yet.
Sperren lesen
Collapse
X
-
Originally posted by Thomas Rith View PostHi,
schau mal in der Doku unter "sp_who" und "sp_lock"... vielleicht reicht Dir das ja schon...
Gruß
Thomas
die SP sp_who sp_who2 sowie sp_lock und sp_lock2 kenne ich
die sp_lock2 ist eigentlich das was ich suche, leider liefert sie nicht immer für den Bunutzer als Ergebnis, manchmal steht das einfach null
Comment
-
Hallo,
Wie kann ich auf Basis von systemtabellen herausfinden wer was blockiert..
Code:-- Sperren anzeigen SELECT request_session_id, resource_type, resource_database_id, resource_description, resource_associated_entity_id, request_mode, request_status FROM sys.dm_tran_locks; -- Connection-Info: Werte aus request_session_id einsetzen SELECT * FROM sys.dm_exec_connections WHERE session_id IN(52, 56); -- Session-Info (1 Connection kann mehrere Sessions umfassen) SELECT * FROM sys.dm_exec_sessions WHERE session_id IN(52, 56); -- Blocking SELECT * FROM sys.dm_exec_requests WHERE blocking_session_id > 0; -- SQL-Anweisungtext abfordern SELECT session_id, text FROM sys.dm_exec_connections CROSS APPLY sys.dm_exec_sql_text(most_recent_sql_handle) AS ST WHERE session_id IN(52, 56); GO
Comment
-
Hallo!
Auch ich bin auf der Suche nach Locks, die zu einem Deadlock führen. In meiner Client-Anwendung erhalte ich diese "schöne" Fehlermeldung.
Erhält man mit diesen Tabellen auch noch Informationen über die Sperren, wenn der SQL-Server die Situation behoben hat?
Wie kann ich vorgehen (am besten ohne den ganzen Code zu ändern) um die Fehlerquelle zu finden?
mfg
Thomas
Comment
Comment