Udostępnij za pomocą


Blokada: Klasa Zdarzeń Zakleszczenia

Dotyczy do: SQL Server 2016 (13.x) i nowsze wersje Azure SQL DatabaseAzure SQL Managed InstanceSQL database in Microsoft Fabric

Klasa zdarzenia Lock:Deadlock powstaje, gdy próba zdobycia blokady zostaje anulowana, ponieważ próba była częścią impasu i została wybrana jako ofiara deadlocka.

Użyj klasy zdarzeń Lock:Deadlock, aby monitorować, kiedy występują deadlocki i które obiekty są zaangażowane. Możesz wykorzystać te informacje, aby sprawdzić, czy blokady znacząco wpływają na wydajność Twojej aplikacji. Następnie możesz przeanalizować kod aplikacji, aby sprawdzić, czy możesz wprowadzić zmiany minimalizujące zaklenięcia.

Kolumny danych Lock:Deadlock Event Class

Nazwa kolumny danych Typ danych Description Identyfikator kolumny Filtrowanie
ApplicationName nvarchar Nazwa aplikacji klienckiej, która utworzyła połączenie z wystąpieniem programu SQL Server. Ta kolumna jest wypełniana wartościami przekazywanymi przez aplikację, a nie wyświetlaną nazwą programu. 10 Tak
BinaryData image Blokuj identyfikator zasobu. 2 Tak
ClientProcessID int Identyfikator przypisany przez komputer hosta do procesu, w którym działa aplikacja kliencka. Ta kolumna danych jest wypełniana, jeśli identyfikator procesu klienta jest udostępniany przez klienta. 9 Tak
DatabaseID int Identyfikacja bazy danych, w której zamek był pozyskiwany. Program SQL Server Profiler wyświetla nazwę bazy danych, jeśli kolumna danych ServerName zostanie przechwycona w śladzie, a serwer jest dostępny. Określ wartość bazy danych przy użyciu funkcji DB_ID. 3 Tak
DatabaseName nvarchar Nazwa bazy danych, w której zamek był pozyskiwany. 35 Tak
Czas trwania bigint Czas (w mikrosekundach) między momentem wysłania żądania blokady a momentem wystąpienia martwy. 13 Tak
EndTime datetime Czas, w którym zakończył się impas. 15 Tak
EventClass int Typ zdarzenia = 25. 27 Nie.
Sekwencja zdarzeń int Sekwencja danego zdarzenia w żądaniu. 51 Nie.
GroupID int Identyfikator grupy obciążenia, w której jest uruchamiane zdarzenie śledzenia SQL. 66 Tak
Nazwa hosta nvarchar Nazwa komputera, na którym jest uruchomiony klient. Ta kolumna danych jest wypełniana, jeśli klient poda nazwę hosta. Aby określić nazwę hosta, użyj funkcji HOST_NAME. 8 Tak
IntegerData int Numer impasu. Numery są przypisywane od 0 podczas uruchamiania serwera i są zwiększane przy każdym martwym punkcie. 25 Tak
IntegerData2 int Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. 55 Tak
IsSystem int Wskazuje, czy zdarzenie miało miejsce w procesie systemowym, czy w procesie użytkownika. 1 = system, 0 = użytkownik. 60 Tak
Nazwa logowania nvarchar Nazwa logowania użytkownika (albo SQL Server security login, albo dane logowania Microsoft Windows w formie DOMAIN\username). 11 Tak
LoginSid image Numer identyfikacyjny zabezpieczeń (SID) zalogowanego użytkownika. Informacje te znajdziesz w widoku katalogu sys.server_principals. Każdy identyfikator SID jest unikatowy dla każdego identyfikatora logowania na serwerze. 41 Tak
Mode int Tryb powstały po zablokowaniu.

0=NULL - Kompatybilny ze wszystkimi innymi trybami blokady (LCK_M_NL)

1=Blokada stabilności schematu (LCK_M_SCH_S)

2=Zamek modyfikacji schematu (LCK_M_SCH_M)

3=Współdzielony zamek (LCK_M_S)

4=Blokada aktualizacji (LCK_M_U)

5=Wyłączny zamek (LCK_M_X)

6=Zamek współdzielony na zamiar (LCK_M_IS)

7=Blokada aktualizacji zamiaru (LCK_M_IU)

8=Wyłączny zamek na zamiar (LCK_M_IX)

9=Udostępniono z zamiarem aktualizacji (LCK_M_SIU)

10=Udostępnione wyłącznie z intencją (LCK_M_SIX)

11=Aktualizacja z wyłącznym zamiarem (LCK_M_UIX)

12=Blokada aktualizacji masowej (LCK_M_BU)

13=Zakres kluczy współdzielony/współdzielony (LCK_M_RS_S)

14=Zakres kluczy udostępniony/aktualizowany (LCK_M_RS_U)

15=Wstaw zakresu kluczy NULL (LCK_M_RI_NL)

16=Wspólny wstaw zakresu kluczy (LCK_M_RI_S)

17=Aktualizacja zakresu kluczy (LCK_M_RI_U)

18=Ekskluzywne wstawianie w zakresie kluczy (LCK_M_RI_X)

19=Wyłączny zakres kluczy współdzielony (LCK_M_RX_S)

20=Ekskluzywna aktualizacja zakresu kluczy (LCK_M_RX_U)

21=Ekskluzywne w zakresie kluczy (LCK_M_RX_X)
32 Tak
NTDomainName nvarchar Domena systemu Windows, do której należy użytkownik. 7 Tak
NTUserName nvarchar Nazwa użytkownika systemu Windows. 6 Tak
Identyfikator obiektu int Identyfikacja obiektu będącego przedmiotem rywalizacji, jeśli jest dostępna i ma zastosowanie. 22 Tak
ObjectID2 bigint Identyfikator powiązanego obiektu lub podmiotu, jeśli jest dostępny i dotyczy. 56 Tak
OwnerID int 1=TRANSAKCJA

2=KURSOR

3=SESJA

4=SHARED_TRANSACTION_WORKSPACE

5=EXCLUSIVE_TRANSACTION_WORKSPACE
58 Tak
Identyfikator żądania int ID żądania zawierającego wyciąg. 49 Tak
NazwaSerwera nvarchar Nazwa śledzonego wystąpienia programu SQL Server. 26 Nie.
SessionLoginName nvarchar Nazwa logowania użytkownika, który utworzył sesję. Na przykład, jeśli połączysz się z SQL Server za pomocą Login1 i wykonasz polecenie jako Login2, SessionLoginName pokazuje Login1, a LoginName pokazuje Login2. W tej kolumnie są wyświetlane zarówno identyfikatory logowania programu SQL Server, jak i systemu Windows. 64 Tak
SPID int Identyfikator sesji, w której wystąpiło zdarzenie. 12 Tak
StartTime datetime Godzina rozpoczęcia wydarzenia, gdy był dostępny. 14 Tak
DaneTekstowe ntext Wartość tekstu zależała od typu zamka, który był pozyskiwany. 1 Tak
TransactionID bigint Przypisany przez system identyfikator transakcji. 4 Tak
Typ int 1=NULL_RESOURCE

2=BAZA DANYCH

3=PLIK

5=OBIEKT

6=STRONA

7=KLUCZ

8=ZASIĘG

9=RID

10=ZASTOSOWANIE

11=METADANE

12=AUTONAMEDB

13=HOBT

14=ALLOCATION_UNIT
57 Tak

Zobacz też

sp_trace_setevent (Transact-SQL)
sys.dm_tran_locks (Transact-SQL)