Sdílet prostřednictvím


Třída události Lock:Deadlock

Platí na: SQL Server 2016 (13.x) a novější verze Azure SQL DatabaseAzure SQL Managed InstanceSQL database in Microsoft Fabric

Třída události Lock:Deadlock vzniká, když je pokus o získání zámku zrušen, protože pokus byl součástí zablokování a byl vybrán jako oběť zablokování.

Použijte třídu událostí Lock:Deadlock ke sledování, kdy dochází k zablokování a které objekty jsou zapojeny. Tyto informace můžete využít k určení, zda zablokování výrazně ovlivňuje výkon vaší aplikace. Poté můžete prozkoumat aplikační kód a zjistit, zda můžete provést změny k minimalizaci patových situací.

Sloupce dat třídy událostí Lock:Deadlock

Název datového sloupce Datový typ Description ID sloupce Filtrovatelný
ApplicationName nvarchar Název klientské aplikace, která vytvořila připojení k instanci SQL Serveru. Tento sloupec se naplní hodnotami předanými aplikací místo zobrazovaného názvu programu. 10 Ano
BinaryData image Zamkněte identifikátor zdroje. 2 Ano
ClientProcessID int ID přiřazené hostitelským počítačem procesu, ve kterém je klientská aplikace spuštěná. Tento datový sloupec se vyplní, pokud klient poskytne ID procesu klienta. 9 Ano
DatabaseID int Identifikace databáze, ve které byl zámek získán. SQL Server Profiler zobrazí název databáze, pokud je datový sloupec ServerName zachycen v trasování a server je k dispozici. Pomocí funkce DB_ID určete hodnotu databáze. 3 Ano
DatabaseName nvarchar Název databáze, ve které byl zámek získáván. 35 Ano
Doba trvání bigint Doba (v mikrosekundách) mezi vydáním žádosti o zámek a okamžikem, kdy došlo k zablokování. 13 Ano
Čas ukončení datetime Čas, kdy patová situace skončila. 15 Ano
EventClass int Typ události = 25. 27 Ne
Sekvence událostí int Sekvence dané události v rámci požadavku. 51 Ne
GroupID int ID skupiny úloh, ve které se aktivuje událost trasování SQL. 66 Ano
Název hostitele nvarchar Název počítače, na kterém je klient spuštěný. Tento datový sloupec se vyplní, pokud klient zadá hostitelské jméno. Pro určení názvu hostitele použijte funkci HOST_NAME. 8 Ano
IntegerData int Číslo patové situace. Čísla jsou přiřazena začínající 0 při spuštění serveru a zvyšují se pro každý patový blok. 25 Ano
IntegerData2 int Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena. 55 Ano
IsSystem int Určuje, jestli došlo k události v systémovém procesu nebo uživatelském procesu. 1 = systém, 0 = uživatel. 60 Ano
Přihlašovací jméno nvarchar Název uživatelského přihlášení (buď bezpečnostní přihlášení SQL Serveru, nebo přihlašovací údaje Microsoft Windows ve formě DOMÉNA\uživatelské jméno). 11 Ano
LoginSid image Identifikační číslo zabezpečení (SID) přihlášeného uživatele. Tyto informace najdete v zobrazení sys.server_principals katalogu. Každý identifikátor SID je jedinečný pro každé přihlášení na serveru. 41 Ano
Mode int Výsledný režim po zablokování.

0=NULL - Kompatibilní se všemi ostatními režimy zámku (LCK_M_NL)

1=Stabilitní zámek schématu (LCK_M_SCH_S)

2=Zámek modifikace schématu (LCK_M_SCH_M)

3=Sdílený zámek (LCK_M_S)

4=Aktualizovat zámek (LCK_M_U)

5=Exkluzivní zámek (LCK_M_X)

6=Záměr sdílený zámek (LCK_M_IS)

7=Zámek aktualizace záměru (LCK_M_IU)

8=Zámek výhradně záměrem (LCK_M_IX)

9=Sdíleno s úmyslem aktualizovat (LCK_M_SIU)

10=Exkluzivně sdíleno s úmyslem (LCK_M_SIX)

11=Aktualizace s exkluzivním záměrem (LCK_M_UIX)

12=Hromadný aktualizační zámek (LCK_M_BU)

13=Sdílený/sdílený rozsah klíčů (LCK_M_RS_S)

14=Sdílení rozsahu klíčů/aktualizace (LCK_M_RS_U)

15=Vložení rozsahu klíčů NULL (LCK_M_RI_NL)

16=Sdílené vložení rozsahu klíčů (LCK_M_RI_S)

17=Aktualizace vložení rozsahu klíčů (LCK_M_RI_U)

18=Insert Range Exclusive (LCK_M_RI_X)

19=Sdílené klíčové rozsahy (LCK_M_RX_S)

20=Exkluzivní aktualizace klíčového rozsahu (LCK_M_RX_U)

21=Exkluzivní pro klíčovou řadu exkluzivně (LCK_M_RX_X)
32 Ano
NTDomainName nvarchar Doména Systému Windows, do které uživatel patří. 7 Ano
NTUserName nvarchar Uživatelské jméno systému Windows. 6 Ano
Identifikátor objektu (ObjectID) int ID předmětu v soutěži, pokud je k dispozici a relevantní. 22 Ano
ObjectID2 bigint ID souvisejícího objektu nebo entity, pokud je k dispozici a relevantní. 56 Ano
OwnerID int 1=TRANSAKCE

2=KURZOR

3=SEZENÍ

4=SHARED_TRANSACTION_WORKSPACE

5=EXCLUSIVE_TRANSACTION_WORKSPACE
58 Ano
ID požadavku int ID požadavku obsahujícího tento výrok. 49 Ano
Název serveru nvarchar Název instance systému SQL Server, která se trasuje. 26 Ne
SessionLoginName nvarchar Přihlašovací jméno uživatele, který relaci pochází. Například pokud se připojíte ke SQL Serveru pomocí Login1 a vykonáte příkaz jako Login2, SessionLoginName ukáže Login1 a LoginName Login2. Tento sloupec zobrazuje přihlášení k SQL Serveru i Windows. 64 Ano
SPID int ID relace, na které došlo k události. 12 Ano
StartTime datetime Čas, kdy akce začala, pokud byl k dispozici. 14 Ano
Textová data ntext Hodnota textu závisí na typu zámku, který byl získán. 1 Ano
TransactionID bigint ID transakce přiřazené systémem. 4 Ano
Typ int 1=NULL_RESOURCE

2=DATABÁZE

3=SOUBOR

5=OBJEKT

6=PAGE

7=KLÍČ

8=ROZSAH

9=RID

10=APLIKACE

11=METADATA

12=AUTONAMEDB

13=HOBT

14=ALLOCATION_UNIT
57 Ano

Viz také

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