Lås: Tidsgränshändelseklass

Gäller för: SQL Server 2016 (13.x) och senare versioner Azure SQL DatabaseAzure SQL Managed InstanceSQL-databas i Microsoft Fabric

Lock:Timeout-händelseklassen indikerar att en begäran om låsning på en resurs, såsom en sida, har gått ut eftersom en annan transaktion håller ett blockerande lås på den nödvändiga resursen. Time-out bestäms av @@LOCK_TIMEOUT-systemfunktionen och kan ställas in med satsen SET LOCK_TIMEOUT.

Använd Lock:Timeout-eventklassen för att övervaka när timeout-förhållanden uppstår. Denna information är användbar för att avgöra om timeouts påverkar prestandan i din applikation avsevärt och vilka objekt som är inblandade. Du kan undersöka applikationskoden som modifierar dessa objekt för att avgöra om ändringar för att minimera timeouts kan göras.

Lås: Timeout-händelser med en varaktighet på 0 är vanligtvis resultatet av interna låsprober och är inte nödvändigtvis en indikation på ett problem. Lock:Timeout (timeout > 0)-händelsen kan användas för att ignorera time-outs med en varaktighet på 0.

Lock:Timeout Event Class Datakolumner

Namn på datakolumn Datatyp Description Kolumn-ID Filtrerbar
ApplicationName nvarchar Namnet på klientprogrammet som skapade anslutningen till en instans av SQL Server. Den här kolumnen fylls i med de värden som skickas av programmet i stället för programmets visade namn. 10 Yes
BinaryData image Lås resursidentifierare. 2 Yes
ClientProcessID int ID som tilldelats av värddatorn till den process där klientprogrammet körs. Denna datakolumn fylls om klienten tillhandahåller klientens process-ID. 9 Yes
DatabaseID int ID för databasen där låstidsavbrottet inträffade. SQL Server Profiler visar namnet på databasen om datakolumnen ServerName samlas in i spårningen och servern är tillgänglig. Fastställa värdet för en databas med hjälp av funktionen DB_ID. 3 Yes
DatabaseName nvarchar Namnet på databasen där timeouten inträffade. 35 Yes
Varaktighet bigint Tiden (i mikrosekunder) mellan att låsbegäran utfärdades och att låset avgränsades. 13 Yes
EndTime datetime Tiden då evenemanget avslutades. 15 Yes
EventClass int Typ av evenemang = 27. 27 Nej
Händelseföljd int Sekvensen av en given händelse inom begäran. 51 Nej
GroupID int ID för arbetsbelastningsgruppen där SQL Trace-händelsen utlöses. 66 Yes
värdnamn nvarchar Namnet på den dator där klienten körs. Denna datakolumn fylls i om klienten anger värdnamnet. För att bestämma värdnamnet, använd funktionen HOST_NAME. 8 Yes
IntegerData2 int Identifieras endast i informationssyfte. Stöds inte. Framtida kompatibilitet garanteras inte. 55 Yes
IsSystem int Anger om händelsen inträffade i en systemprocess eller en användarprocess. 1 = system, 0 = användare. 60 Yes
Inloggningsnamn nvarchar Namnet på användarens inloggning (antingen SQL Server-säkerhetsinloggning eller Microsoft Windows-inloggningsuppgifterna i form av DOMÄN\användarnamn). 11 Yes
LoginSid image Säkerhetsidentifieringsnummer (SID) för den inloggade användaren. Du kan hitta denna information i sys.server_principals katalogvy. Varje SID är unikt för varje inloggning på servern. 41 Yes
Mode int Det resulterande läget efter timeouten.

0=NULL - Kompatibel med alla andra låslägen (LCK_M_NL)

1=Schemastabilitetslås (LCK_M_SCH_S)

2=Schemamodifieringslås (LCK_M_SCH_M)

3=Delat lås (LCK_M_S)

4=Uppdateringslås (LCK_M_U)

5=Exklusivt lås (LCK_M_X)

6=Avsiktsdelat lås (LCK_M_IS)

7=Avsiktsuppdateringslås (LCK_M_IU)

8=Avsiktsexklusivt lås (LCK_M_IX)

9=Delad med avsikt att uppdatera (LCK_M_SIU)

10=Delad med avsikt exklusiv (LCK_M_SIX)

11=Uppdatering med avsikt exklusiv (LCK_M_UIX)

12=Bulkuppdateringslås (LCK_M_BU)

13=Nyckelintervall Delat/Delat (LCK_M_RS_S)

14=Nyckelintervall Delat/Uppdatering (LCK_M_RS_U)

15=Nyckelområde Infoga NULL (LCK_M_RI_NL)

16=Nyckelområdesinlägg delat (LCK_M_RI_S)

17=Uppdatering av nyckelomfång (LCK_M_RI_U)

18=Nyckelomfängsinsats exklusiv (LCK_M_RI_X)

19=Nyckelområde Exklusivt Delat (LCK_M_RX_S)

20=Exklusiv uppdatering av nyckelområdet (LCK_M_RX_U)

21=Exklusiv för nyckelutbudet (LCK_M_RX_X)
32 Yes
NTDomainName nvarchar Windows-domän som användaren tillhör. 7 Yes
NTUserName nvarchar Windows-användarnamn. 6 Yes
ObjectID (Objekt-ID) int ID på objektet som var tidsavgränsat, om tillgängligt och tillämpligt. 22 Yes
ObjectID2 bigint ID för det relaterade objektet eller entiteten, om tillgängligt och tillämpligt. 56 Yes
OwnerID int 1=TRANSAKTION

2=MARKÖR

3=SESSION

4=SHARED_TRANSACTION_WORKSPACE

5=EXCLUSIVE_TRANSACTION_WORKSPACE
58 Yes
RequestID int ID för begäran som innehåller -instruktionen. 49 Yes
Servernamn nvarchar Namn på den instans av SQL Server som spåras. 26 Nej
SessionLoginName nvarchar Inloggningsnamn för den användare som påbörjade sessionen. Till exempel, om du ansluter till SQL Server med Login1 och kör ett sats som Login2, visar SessionLoginName Login1; medan LoginName visar Login2. Den här kolumnen visar både SQL Server- och Windows-inloggningar. 64 Yes
SPID int ID för sessionen där händelsen inträffade. 12 Yes
StartTime datetime Tidpunkt då händelsen startade, om den är tillgänglig. 14 Yes
TextData ntext Textvärde beroende på vilken låstyp som erhölls när timeouten inträffade. 1 Yes
TransactionID bigint Systemtilldelat ID för transaktionen. 4 Yes
Typ int 1=NULL_RESOURCE

2=DATABAS

3=FIL

5=OBJEKT

6=PAGE

7=NYCKEL

8=OMFATTNING

9=RID

10=TILLÄMPNING

11=METADATA

12=AUTONAMEDB

13=HOBT

14=ALLOCATION_UNIT
57 Yes

Se även

sp_trace_setevent (Transact-SQL)
Lås: Timeout (timeout > 0) Eventklass
sys.dm_tran_locks (Transact-SQL)