Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Vonatkozik a következőkre: SQL Server 2016 (13.x) és későbbi verziók
Azure SQL Database
Azure SQL Managed Instance
SQL 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)