Megosztás:


Zárolás:Eszkalációs esemény osztálya

Vonatkozik a következőkre: SQL Server 2016 (13.x) és későbbi verziók Azure SQL DatabaseAzure SQL Managed InstanceSQL database in Microsoft Fabric

A Lock:Escalation eseményosztály azt jelzi, hogy egy finomabb szemcsésű zsilit durvább szemcsésű zsilipre alakítottak; például egy sorzár, amelyet objektumzárrá alakítunk. Az ekalációs eseményosztály az Event ID 60.

Lock:Escalation eseményosztály adatoszlopok

Adatoszlop neve Adattípus Description Oszlopazonosító Szűrhető
ApplicationName nvarchar Annak az ügyfélalkalmazásnak a neve, amely létrehozta a kapcsolatot az SQL Server egy példányával. Ez az oszlop a program megjelenített neve helyett az alkalmazás által átadott értékekkel van feltöltve. 10 Igen
ClientProcessID int A gazdaszámítógép által hozzárendelt azonosító ahhoz a folyamathoz, amelyben az ügyfélalkalmazás fut. Ez az adatoszlop akkor töltődik, ha az ügyfél megadja az ügyfél folyamatazonosítóját. 9 Igen
DatabaseID int Az adatbázis azonosítója, amelyben a zárat megszerezték. Az SQL Server Profiler megjeleníti az adatbázis nevét, ha a ServerName adatoszlop rögzítésre kerül a nyomkövetésben, és a szerver elérhető. Határozza meg az adatbázis értékét a DB_ID függvénnyel. 3 Igen
DatabaseName nvarchar Az adatbázis neve, ahol az eszkaláció történt. 35 Igen
EventClass int Az esemény típusa = 60. 27 Nem
EventSubClass int A zár eszkalációjának oka:

0 - LOCK_THRESHOLD jelzi, hogy a nyilatkozat meghaladta a zár küszöbértékét.

1 - MEMORY_THRESHOLD azt jelzi, hogy az állítás túllépte a memóriaküszöböt.
21 Igen
Eseménysorozat int Egy adott esemény sorrendje a kérelemben. 51 Nem
GroupID int Annak a számítási feladatcsoportnak az azonosítója, amelyben az SQL Trace esemény aktiválódik. 66 Igen
HostName nvarchar Annak a számítógépnek a neve, amelyen az ügyfél fut. Ez az adatoszlop akkor van feltöltve, ha a kliens megadja a hosztnevet. A gazdanév meghatározásához használja az HOST_NAME függvényt. 8 Igen
IntegerData int HoBT zárszám. A HoBT zárainak száma a zár ekalációjának idején. 25 Igen
IntegerData2 int Fokozott zárszám. Az átalakított zsilip összessége. Ezeket a zsilipszerkezeteket azért osztják szét, mert már lefedett a fokozott zsilip. 55 Igen
IsSystem int Azt jelzi, hogy az esemény rendszerfolyamaton vagy felhasználói folyamaton történt-e. 1 = rendszer, 0 = felhasználó. 60 Igen
LineNumber int Az állítás Transact-SQL sorszáma. 5 Igen
LoginName nvarchar A felhasználó bejelentkezésének neve (akár SQL Server biztonsági bejelentkezés, akár a Microsoft Windows bejelentkezési adatai DOMAIN\username formájában). 11 Igen
LoginSid image A bejelentkezett felhasználó biztonsági azonosítója (SID). Ezt az információt a sys.server_principals katalógus nézetben találhatod. Minden sid egyedi a kiszolgálón található minden bejelentkezéshez. 41 Igen
Mode int Az eszkaláció után kialakult zárolási mód:

0=NULL - Kompatibilis minden más zárolási móddal (LCK_M_NL)

1=Séma stabilitási zár (LCK_M_SCH_S)

2=Séma módosítási zár (LCK_M_SCH_M)

3=Közös zár (LCK_M_S)

4=Zár frissítése (LCK_M_U)

5=Exclusive zár (LCK_M_X)

6=Szándék Megosztott Zár (LCK_M_IS)

7=Szándékfrissítési zár (LCK_M_IU)

8=Szándék Kizárólagos Zár (LCK_M_IX)

9=Frissítési szándékkal osztva (LCK_M_SIU)

10=Szándékkal osztott meg exkluzív (LCK_M_SIX)

11=Frissítés Intent Exkluzív (LCK_M_UIX)

12=Tömeges frissítési zár (LCK_M_BU)

13=Kulcstartomány megosztott/megosztott (LCK_M_RS_S)

14=Kulcstartomány megosztott/frissítés (LCK_M_RS_U)

15=Kulcstartomány beszúrása NULL (LCK_M_RI_NL)

16=Kulcstartomány beszúrása megosztott (LCK_M_RI_S)

17=Kulcstartomány betöltési frissítés (LCK_M_RI_U)

18=Billentyűtartomány beszúrás exkluzív (LCK_M_RI_X)

19=Key Range exkluzív megosztott (LCK_M_RX_S)

20=Key Range exkluzív frissítés (LCK_M_RX_U)

21=Key Range Exclusive Exclusive (LCK_M_RX_X)
32 Igen
NTDomainName nvarchar Windows-tartomány, amelyhez a felhasználó tartozik. 7 Igen
NTUserName nvarchar Windows-felhasználónév. 6 Igen
ObjectID int A rendszer által hozzárendelt azonosítója annak a táblának, amelynél a zár ekalációja aktiválódott. 22 Igen
ObjectID2 bigint A kapcsolódó objektum vagy entitás azonosítója. (HoBT azonosító, amelynél a zár eszkalációja aktiválódott.) 56 Igen
Ellensúlyoz int A kijelentés Transact-SQL kijelentésének kezdeti átalakulása. 61 Igen
OwnerID int 1=TRANZAKCIÓ

2=KURZOR

3=SESSION

4=SHARED_TRANSACTION_WORKSPACE

5=EXCLUSIVE_TRANSACTION_WORKSPACE

6=WAITFOR_QUERY
58 Igen
RequestID int Az utasítást tartalmazó kérelem azonosítója. 49 Igen
Kiszolgálónév nvarchar A nyomkövetés alatt álló SQL Server-példány neve. 26 Nem
SessionLoginName nvarchar A munkamenetet létrehozó felhasználó bejelentkezési neve. Például, ha Login1-vel csatlakozol az SQL Serverhez, és egy utasítást futtatsz Login2-ként, akkor a SessionLoginName a Login1-et, a LoginName pedig Login2-t mutatja. Ez az oszlop az SQL Server- és a Windows-bejelentkezéseket is megjeleníti. 64 Igen
SPID int Annak a munkamenetnek az azonosítója, amelyen az esemény történt. 12 Igen
StartTime datetime Az esemény indításának időpontja, ha elérhető. 14 Igen
TextData kontextus A Transact-SQL nyilatkozat szövege, amely a zár eszkalációját okozta. 1 Igen
TransactionID bigint A tranzakció rendszer által hozzárendelt azonosítója. 4 Igen
Típus int Zár ekalációs granularitás:

1=NULL_RESOURCE

2=ADATBÁZIS

3=FÁJL

5=OBJECT (táblaszint)

6=OLDAL

7=KULCS

8=TERJEDELEM

9=RID

10=ALKALMAZÁS

11=METADATA

12=HOBT

13=ALLOCATION_UNIT
57 Igen

Példák

A következő példa a sp_trace_create nyomkövetés létrehozására szolgáló eljárást használja, sp_trace_setevent a nyomkövetéshez zár ekalációs oszlopokat ad, majd a nyomkövetés elindításához.sp_trace_setstatus Olyan állításokban, mint EXEC sp_trace_setevent @TraceID, 60, 22, 1, a szám 60 az eszkalációs eseményosztályt, 22 az ObjectID oszlopot, és 1 a trace eseményt ON-ra állítja.

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  

Most, hogy a trace fut, hajtsd végre azokat a utasításokat, amiket követni szeretnél. Amikor befejezik, hajtsd végre a következő kódot a megálláshoz, majd zárd le a nyomkövetést. Ez a példa a fn_trace_getinfo függvényt használja, hogy a traceid to to -t használja az sp_trace_setstatus állításokban.

-- 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  

Lásd még:

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