Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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)