Delen via


Vergrendeling: Deadlock-gebeurtenisklasse

Van toepassing op: SQL Server 2016 (13.x) en latere versies Azure SQL DatabaseAzure SQL Managed InstanceSQL database in Microsoft Fabric

De Lock:Deadlock-gebeurtenisklasse wordt geproduceerd wanneer een poging om een lock te verkrijgen wordt geannuleerd omdat de poging deel uitmaakte van een deadlock en als deadlock-slachtoffer werd gekozen.

Gebruik de Lock:Deadlock event class om te monitoren wanneer deadlocks optreden en welke objecten betrokken zijn. U kunt deze informatie gebruiken om te bepalen of deadlocks de prestaties van uw applicatie aanzienlijk beïnvloeden. Je kunt vervolgens de applicatiecode bekijken om te bepalen of je wijzigingen kunt aanbrengen om deadlocks te minimaliseren.

Lock:Deadlock Event Class Data Columns

Naam van gegevenskolom Gegevenstype Description Kolom-id Filterbaar
ApplicationName nvarchar Naam van de clienttoepassing die de verbinding met een exemplaar van SQL Server heeft gemaakt. Deze kolom wordt gevuld met de waarden die door de toepassing worden doorgegeven in plaats van de weergegeven naam van het programma. 10 Yes
BinaryData image Vergrendel resource-identificatie. 2 Yes
ClientProcessID int De id die door de hostcomputer is toegewezen aan het proces waarop de clienttoepassing wordt uitgevoerd. Deze gegevenskolom wordt ingevuld als de clientproces-id wordt opgegeven door de client. 9 Yes
DatabaseID int ID van de database waarin het slot werd verkregen. SQL Server Profiler geeft de naam van de database weer als de kolom ServerName-gegevens wordt vastgelegd in de tracering en de server beschikbaar is. Bepaal de waarde voor een database met behulp van de functie DB_ID. 3 Yes
DatabaseName nvarchar Naam van de database waarin het slot werd verkregen. 35 Yes
Duur bigint De tijd (in microseconden) tussen het moment dat het lock-verzoek werd ingediend en het moment dat de deadlock plaatsvond. 13 Yes
EndTime datetime Tijd waarop de impasse eindigde. 15 Yes
EventClass int Type evenement = 25. 27 Nee.
GebeurtenisVolgorde int De volgorde van een bepaald evenement binnen het verzoek. 51 Nee.
GroupID int Id van de workloadgroep waarin de SQL Trace-gebeurtenis wordt geactiveerd. 66 Yes
Hostnaam nvarchar Naam van de computer waarop de client wordt uitgevoerd. Deze datakolom wordt ingevuld als de client de hostnaam opgeeft. Om de hostnaam te bepalen, gebruik je de functie HOST_NAME. 8 Yes
IntegerData int Deadlock-nummer. Nummers worden toegewezen die beginnen met 0 wanneer de server wordt gestart en worden bij elke deadlock verhoogd. vijfentwintig Yes
IntegerData2 int Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd. 55 Yes
IsSysteem int Geeft aan of de gebeurtenis heeft plaatsgevonden in een systeemproces of een gebruikersproces. 1 = systeem, 0 = gebruiker. 60 Yes
Gebruikersnaam nvarchar Naam van de inloggegevens van de gebruiker (ofwel SQL Server-beveiligingslogin of de Microsoft Windows-inloggegevens in de vorm van DOMEIN\gebruikersnaam). 11 Yes
LoginSid image Beveiligingsidentificatienummer (SID) van de aangemelde gebruiker. Je kunt deze informatie vinden in de catalogusweergave van sys.server_principals. Elke SID is uniek voor elke aanmelding op de server. 41 Yes
Wijze int De resulterende modus na de deadlock.

0=NULL - Compatibel met alle andere lockmodi (LCK_M_NL)

1=Schema Stabiliteitsslot (LCK_M_SCH_S)

2=Schema Modificatie Slot (LCK_M_SCH_M)

3=Gedeeld slot (LCK_M_S)

4=Update-slot (LCK_M_U)

5=Exclusief slot (LCK_M_X)

6=Intentie Gedeelde Slot (LCK_M_IS)

7=Intent Update Lock (LCK_M_IU)

8=Intentie-exclusieve Slot (LCK_M_IX)

9=Gedeeld met de intentie om te updaten (LCK_M_SIU)

10=Gedeeld met intentie exclusief (LCK_M_SIX)

11=Exclusief Bijwerken met Intentie (LCK_M_UIX)

12=Bulk Update Lock (LCK_M_BU)

13=Sleutelbereik gedeeld/gedeeld (LCK_M_RS_S)

14=Sleutelbereik gedeeld/bijgewerkt (LCK_M_RS_U)

15=Sleutelbereik Invoegen NULL (LCK_M_RI_NL)

16=Gedeeld Sleutelbereik-invoeging (LCK_M_RI_S)

17=Sleutelbereik-invoegupdate (LCK_M_RI_U)

18=Sleutelbereik Invoegsel Exclusief (LCK_M_RI_X)

19=Sleutelbereik Exclusief Gedeeld (LCK_M_RX_S)

20=Exclusieve Update van het Sleutelbereik (LCK_M_RX_U)

21=Key Range Exclusief (LCK_M_RX_X)
32 Yes
NTDomainName nvarchar Windows-domein waartoe de gebruiker behoort. 7 Yes
NTUserName nvarchar Windows-gebruikersnaam. 6 Yes
ObjectID int ID van het object waar het om in aanmerking komt, indien beschikbaar en van toepassing. 22 Yes
ObjectID2 bigint ID van het gerelateerde object of entiteit, indien beschikbaar en van toepassing. 56 Yes
OwnerID int 1=TRANSACTIE

2=CURSOR

3=SESSIE

4=SHARED_TRANSACTION_WORKSPACE

5=EXCLUSIVE_TRANSACTION_WORKSPACE
58 Yes
RequestID int De ID van het verzoek met de verklaring. 49 Yes
Servernaam nvarchar De naam van het exemplaar van SQL Server dat wordt getraceerd. 26 Nee.
SessionLoginName nvarchar Aanmeldingsnaam van de gebruiker die de sessie heeft gestart. Als je bijvoorbeeld verbinding maakt met SQL Server via Login1 en een instructie uitvoert als Login2, toont SessionLoginName Login1 en LoginName Login2. In deze kolom worden zowel SQL Server- als Windows-aanmeldingen weergegeven. 64 Yes
SPID int Id van de sessie waarop de gebeurtenis heeft plaatsgevonden. 12 Yes
StartTime datetime Tijd waarop het evenement begon, wanneer beschikbaar. 14 Yes
Tekstgegevens ntext Tekstwaarde hangt af van het slottype dat werd verkregen. 1 Yes
TransactionID bigint Door het systeem toegewezen id van de transactie. 4 Yes
Typologie int 1=NULL_RESOURCE

2=DATABASE

3=BESTAND

5=OBJECT

6=PAGINA

7=SLEUTEL

8=OMVANG

9=RID

10=TOEPASSING

11=METADATA

12=AUTONAMEDB

13=HOBT

14=ALLOCATION_UNIT
57 Yes

Zie ook

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