Sdílet prostřednictvím


Lock:Timeout – událostní třída

Platí na: SQL Server 2016 (13.x) a novější verze Azure SQL DatabaseAzure SQL Managed InstanceSQL database in Microsoft Fabric

Třída události Lock:Timeout označuje, že požadavek na zámek na zdroj, například stránku, vypršel, protože jiná transakce drží blokující zámek na požadovaném zdroji. Časový limit je určen funkcí @@LOCK_TIMEOUT systému a lze jej nastavit příkazem SET LOCK_TIMEOUT.

Použijte třídu událostí Lock:Timeout ke sledování, kdy nastanou podmínky vypršení času. Tyto informace jsou užitečné pro určení, zda časové limity výrazně ovlivňují výkon vaší aplikace a které objekty jsou zapojeny. Můžete prozkoumat aplikační kód, který tyto objekty upravuje, abyste zjistili, zda lze provést změny pro minimalizaci time-outů.

Zámek: Časové události s délkou 0 jsou obvykle výsledkem vnitřních zámekových sond a nemusí nutně znamenat problém. Událost Lock:Timeout (timeout > 0) lze použít k ignorování time-outů s délkou 0.

Lock:Timeout Event Class Data Columns

Název datového sloupce Datový typ Description ID sloupce Filtrovatelný
ApplicationName nvarchar Název klientské aplikace, která vytvořila připojení k instanci SQL Serveru. Tento sloupec se naplní hodnotami předanými aplikací místo zobrazovaného názvu programu. 10 Ano
BinaryData image Zamkněte identifikátor zdroje. 2 Ano
ClientProcessID int ID přiřazené hostitelským počítačem procesu, ve kterém je klientská aplikace spuštěná. Tento datový sloupec se vyplní, pokud klient poskytne ID klientského procesu. 9 Ano
DatabaseID int ID databáze, ve které došlo k vypršení zámku. SQL Server Profiler zobrazí název databáze, pokud je datový sloupec ServerName zachycen v trasování a server je k dispozici. Pomocí funkce DB_ID určete hodnotu databáze. 3 Ano
DatabaseName nvarchar Název databáze, ve které došlo k časovému limitu. 35 Ano
Doba trvání bigint Čas (v mikrosekundách) mezi vydáním žádosti o zámek a vypršením času. 13 Ano
Čas ukončení datetime Čas, kdy akce skončila. 15 Ano
EventClass int Typ události = 27. 27 Ne
Sekvence událostí int Sekvence dané události v rámci požadavku. 51 Ne
GroupID int ID skupiny úloh, ve které se aktivuje událost trasování SQL. 66 Ano
Název hostitele nvarchar Název počítače, na kterém je klient spuštěný. Tento datový sloupec se vyplní, pokud klient zadá hostitelské jméno. Pro určení názvu hostitele použijte funkci HOST_NAME. 8 Ano
IntegerData2 int Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena. 55 Ano
IsSystem int Určuje, jestli došlo k události v systémovém procesu nebo uživatelském procesu. 1 = systém, 0 = uživatel. 60 Ano
Přihlašovací jméno nvarchar Název uživatelského přihlášení (buď bezpečnostní přihlášení SQL Serveru, nebo přihlašovací údaje Microsoft Windows ve formě DOMÉNA\uživatelské jméno). 11 Ano
LoginSid image Identifikační číslo zabezpečení (SID) přihlášeného uživatele. Tyto informace najdete v zobrazení sys.server_principals katalogu. Každý identifikátor SID je jedinečný pro každé přihlášení na serveru. 41 Ano
Mode int Výsledný režim po time-outu.

0=NULL - Kompatibilní se všemi ostatními režimy zámku (LCK_M_NL)

1=Stabilitní zámek schématu (LCK_M_SCH_S)

2=Zámek modifikace schématu (LCK_M_SCH_M)

3=Sdílený zámek (LCK_M_S)

4=Aktualizovat zámek (LCK_M_U)

5=Exkluzivní zámek (LCK_M_X)

6=Záměr sdílený zámek (LCK_M_IS)

7=Zámek aktualizace záměru (LCK_M_IU)

8=Zámek výhradně záměrem (LCK_M_IX)

9=Sdíleno s úmyslem aktualizovat (LCK_M_SIU)

10=Exkluzivně sdíleno s úmyslem (LCK_M_SIX)

11=Aktualizace s exkluzivním záměrem (LCK_M_UIX)

12=Hromadný aktualizační zámek (LCK_M_BU)

13=Sdílený/sdílený rozsah klíčů (LCK_M_RS_S)

14=Sdílení rozsahu klíčů/aktualizace (LCK_M_RS_U)

15=Vložení rozsahu klíčů NULL (LCK_M_RI_NL)

16=Sdílené vložení rozsahu klíčů (LCK_M_RI_S)

17=Aktualizace vložení rozsahu klíčů (LCK_M_RI_U)

18=Insert Range Exclusive (LCK_M_RI_X)

19=Sdílené klíčové rozsahy (LCK_M_RX_S)

20=Exkluzivní aktualizace klíčového rozsahu (LCK_M_RX_U)

21=Exkluzivní pro klíčovou řadu exkluzivně (LCK_M_RX_X)
32 Ano
NTDomainName nvarchar Doména Systému Windows, do které uživatel patří. 7 Ano
NTUserName nvarchar Uživatelské jméno systému Windows. 6 Ano
Identifikátor objektu (ObjectID) int Identifikace objektu, která byla časově vypršena, pokud byla dostupná a relevantní. 22 Ano
ObjectID2 bigint ID souvisejícího objektu nebo entity, pokud je k dispozici a relevantní. 56 Ano
OwnerID int 1=TRANSAKCE

2=KURZOR

3=SEZENÍ

4=SHARED_TRANSACTION_WORKSPACE

5=EXCLUSIVE_TRANSACTION_WORKSPACE
58 Ano
ID požadavku int ID požadavku obsahujícího příkaz. 49 Ano
Název serveru nvarchar Název instance systému SQL Server, která se trasuje. 26 Ne
SessionLoginName nvarchar Přihlašovací jméno uživatele, který relaci pochází. Například pokud se připojíte k SQL Serveru pomocí Login1 a vykonáte příkaz jako Login2, SessionLoginName zobrazí Login1; zatímco LoginName ukazuje Login2. Tento sloupec zobrazuje přihlášení k SQL Serveru i Windows. 64 Ano
SPID int ID relace, na které došlo k události. 12 Ano
StartTime datetime Čas, kdy událost začala, pokud je k dispozici. 14 Ano
Textová data ntext Textová hodnota závisí na typu zámku, který byl získán v době vypršení času. 1 Ano
TransactionID bigint ID transakce přiřazené systémem. 4 Ano
Typ int 1=NULL_RESOURCE

2=DATABÁZE

3=SOUBOR

5=OBJEKT

6=PAGE

7=KLÍČ

8=ROZSAH

9=RID

10=APLIKACE

11=METADATA

12=AUTONAMEDB

13=HOBT

14=ALLOCATION_UNIT
57 Ano

Viz také

sp_trace_setevent (Transact-SQL)
Lock:Timeout (timeout > 0) Třída událostí
sys.dm_tran_locks (Transact-SQL)