Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Gäller för: SQL Server 2016 (13.x) och senare versioner
Azure SQL Database
Azure SQL Managed Instance
SQL-databas i Microsoft Fabric
Lock:Escalation-händelseklassen indikerar att ett finkornigt lås har konverterats till ett grövre lås; till exempel ett radlås som omvandlas till ett objektlås. Eskaleringshändelseklassen är Event ID 60.
Lock:Eskalationshändelseklass 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 |
| 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åset förvärvades. SQL Server Profiler visar namnet på databasen om kolumnen ServerName-data fångas i spåret 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 eskaleringen skedde. | 35 | Yes |
| EventClass | int | Typ av evenemang = 60. | 27 | Nej |
| EventSubClass | int | Orsak till låsupptrappningen: 0 - LOCK_THRESHOLD indikerar att uttalandet överskred låströskeln. 1 - MEMORY_THRESHOLD indikerar att uttalandet överskred minneströskeln. |
21 | Yes |
| EventSequence | int | Sekvens av en viss händelse i begäran. | 51 | Nej |
| GroupID | int | ID för arbetsbelastningsgruppen där SQL Trace-händelsen utlöses. | 66 | Yes |
| HostName | 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 |
| IntegerData | int | HoBT-låsräkning. Antalet lås för HoBT vid tiden för låsupptrappningen. | 25 | Yes |
| IntegerData2 | int | Ökat antal lås. Det totala antalet slussar som konverterades. Dessa slussstrukturer avgränsas eftersom de redan täcks av det eskalerade låset. | 55 | Yes |
| IsSystem | int | Anger om händelsen inträffade i en systemprocess eller en användarprocess. 1 = system, 0 = användare. | 60 | Yes |
| Radnummer | int | Radnummer på Transact-SQL uttalande. | 5 | Yes |
| LoginName | 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 katalogvyn. Varje SID är unikt för varje inloggning på servern. | 41 | Yes |
| Läge | int | Resulterande låsläge efter eskaleringen: 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 | int | Systemtilldelat ID för tabellen där låseskalering utlöstes. | 22 | Yes |
| ObjectID2 | bigint | ID för det relaterade objektet eller entiteten. (HoBT-ID där låsupptrappningen aktiverades.) | 56 | Yes |
| Uppväga | int | Startoffset av Transact-SQL påstående. | 61 | Yes |
| OwnerID | int | 1=TRANSAKTION 2=MARKÖR 3=SESSION 4=SHARED_TRANSACTION_WORKSPACE 5=EXCLUSIVE_TRANSACTION_WORKSPACE 6=WAITFOR_QUERY |
58 | Yes |
| RequestID | int | ID för begäran som innehåller -instruktionen. | 49 | Yes |
| ServerName | 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 en sats som Login2, visar SessionLoginName Login1 och 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 | Texten i det Transact-SQL uttalandet som orsakade låsupptrappningen. | 1 | Yes |
| TransaktionsID | bigint | Systemtilldelat ID för transaktionen. | 4 | Yes |
| Type | int | Låseskaleringsgranularitet: 1=NULL_RESOURCE 2=DATABAS 3=FIL 5=OBJEKT (tabellnivå) 6=PAGE 7=NYCKEL 8=OMFATTNING 9=RID 10=TILLÄMPNING 11=METADATA 12=HOBT 13=ALLOCATION_UNIT |
57 | Yes |
Examples
Följande exempel använder sp_trace_create proceduren för att skapa en spårning, lägger sp_trace_setevent till låseskaleringskolumner i spåret och använder sedan sp_trace_setstatus för att starta spåret. I satser som EXEC sp_trace_setevent @TraceID, 60, 22, 1, anger siffran 60 eskaleringshändelseklassen, 22 anger kolumnen ObjectID och 1 sätter spårningshändelsen till ON.
DECLARE @RC int, @TraceID int;
EXEC @rc = sp_trace_create @TraceID output, 0, N'C:\TraceResults';
-- Set the events and data columns you need to capture.
EXEC sp_trace_setevent @TraceID, 60, 1, 1; -- 1 = TextData
EXEC sp_trace_setevent @TraceID, 60, 12, 1; -- 12 = SPID
EXEC sp_trace_setevent @TraceID, 60, 21, 1; -- 21 = EventSubClass
EXEC sp_trace_setevent @TraceID, 60, 22, 1; -- 22 = ObjectID
EXEC sp_trace_setevent @TraceID, 60, 25, 1; -- 25 = IntegerData
EXEC sp_trace_setevent @TraceID, 60, 55, 1; -- 25 = IntegerData2
EXEC sp_trace_setevent @TraceID, 60, 57, 1; -- 57 = Type
-- Set any filter by using sp_trace_setfilter.
-- Start the trace.
EXEC sp_trace_setstatus @TraceID, 1;
GO
Nu när spårningen körs, kör de satser du vill spåra. När de är klara, kör följande kod för att stoppa och stäng sedan spåret. Detta exempel använder fn_trace_getinfo funktionen för att få att använda i traceid satserna sp_trace_setstatus .
-- After the trace is complete.
DECLARE @TraceID int;
-- Find the traceid of the current trace.
SELECT @TraceID = traceid
FROM ::fn_trace_getinfo(default)
WHERE value = N'C:\TraceResults.trc';
-- First stop the trace.
EXEC sp_trace_setstatus @TraceID, 0;
-- Close and then delete its definition from SQL Server.
EXEC sp_trace_setstatus @TraceID, 2;
GO
Se även
sp_trace_setevent (Transact-SQL)
sys.dm_tran_locks (Transact-SQL)