Udostępnij za pomocą


Klasa zdarzeń Lock:Timeout

Dotyczy do: SQL Server 2016 (13.x) i nowsze wersje Azure SQL DatabaseAzure SQL Managed InstanceSQL database in Microsoft Fabric

Klasa zdarzenia Lock:Timeout oznacza, że żądanie blokady zasobu, takiego jak strona, wygasło, ponieważ inna transakcja utrzymuje blokadę blokującą na wymaganym zasobie. Time-out jest określany przez funkcję systemu @@LOCK_TIMEOUT i można go ustawić za pomocą instrukcji SET LOCK_TIMEOUT.

Użyj klasy zdarzeń Lock:Timeout, aby monitorować, kiedy występują warunki wygaśnięcia czasu. Te informacje są przydatne do ustalenia, czy limity czasowe znacząco wpływają na wydajność aplikacji oraz które obiekty są zaangażowane. Możesz przeanalizować kod aplikacji modyfikujący te obiekty, aby sprawdzić, czy można wprowadzić zmiany minimalizujące limity czasowe.

Blokada: Zdarzenia czasowe o czasie trwania 0 są zazwyczaj wynikiem wewnętrznych sond blokad i niekoniecznie wskazują na problem. Zdarzenie Lock:Timeout (timeout > 0) może być użyte do ignorowania timeoutów o czasie trwania 0.

Kolumny danych Lock:Timeout Event Class

Nazwa kolumny danych Typ danych Description Identyfikator kolumny Filtrowanie
ApplicationName nvarchar Nazwa aplikacji klienckiej, która utworzyła połączenie z wystąpieniem programu SQL Server. Ta kolumna jest wypełniana wartościami przekazywanymi przez aplikację, a nie wyświetlaną nazwą programu. 10 Tak
BinaryData image Blokuj identyfikator zasobu. 2 Tak
ClientProcessID int Identyfikator przypisany przez komputer hosta do procesu, w którym działa aplikacja kliencka. Ta kolumna danych jest wypełniana, jeśli klient poda identyfikator procesu klienta. 9 Tak
DatabaseID int Identyfikator bazy danych, w której nastąpił czas blokady. Program SQL Server Profiler wyświetla nazwę bazy danych, jeśli kolumna danych ServerName zostanie przechwycona w śladzie, a serwer jest dostępny. Określ wartość bazy danych przy użyciu funkcji DB_ID. 3 Tak
DatabaseName nvarchar Nazwa bazy danych, w której nastąpił timeout. 35 Tak
Czas trwania bigint Czas (w mikrosekundach) między wydaniem żądania blokady a jej wygaśnięciem. 13 Tak
EndTime datetime Czas, w którym wydarzenie się zakończyło. 15 Tak
EventClass int Typ zdarzenia = 27. 27 Nie.
Sekwencja zdarzeń int Sekwencja danego zdarzenia w żądaniu. 51 Nie.
GroupID int Identyfikator grupy obciążenia, w której jest uruchamiane zdarzenie śledzenia SQL. 66 Tak
Nazwa hosta nvarchar Nazwa komputera, na którym jest uruchomiony klient. Ta kolumna danych jest wypełniana, jeśli klient poda nazwę hosta. Aby określić nazwę hosta, użyj funkcji HOST_NAME. 8 Tak
IntegerData2 int Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. 55 Tak
IsSystem int Wskazuje, czy zdarzenie miało miejsce w procesie systemowym, czy w procesie użytkownika. 1 = system, 0 = użytkownik. 60 Tak
Nazwa logowania nvarchar Nazwa logowania użytkownika (albo SQL Server security login, albo dane logowania Microsoft Windows w formie DOMAIN\username). 11 Tak
LoginSid image Numer identyfikacyjny zabezpieczeń (SID) zalogowanego użytkownika. Informacje te znajdziesz w widoku katalogu sys.server_principals. Każdy identyfikator SID jest unikatowy dla każdego identyfikatora logowania na serwerze. 41 Tak
Mode int Tryb po przerwie na czas.

0=NULL - Kompatybilny ze wszystkimi innymi trybami blokady (LCK_M_NL)

1=Blokada stabilności schematu (LCK_M_SCH_S)

2=Zamek modyfikacji schematu (LCK_M_SCH_M)

3=Współdzielony zamek (LCK_M_S)

4=Blokada aktualizacji (LCK_M_U)

5=Wyłączny zamek (LCK_M_X)

6=Zamek współdzielony na zamiar (LCK_M_IS)

7=Blokada aktualizacji zamiaru (LCK_M_IU)

8=Wyłączny zamek na zamiar (LCK_M_IX)

9=Udostępniono z zamiarem aktualizacji (LCK_M_SIU)

10=Udostępnione wyłącznie z intencją (LCK_M_SIX)

11=Aktualizacja z wyłącznym zamiarem (LCK_M_UIX)

12=Blokada aktualizacji masowej (LCK_M_BU)

13=Zakres kluczy współdzielony/współdzielony (LCK_M_RS_S)

14=Zakres kluczy udostępniony/aktualizowany (LCK_M_RS_U)

15=Wstaw zakresu kluczy NULL (LCK_M_RI_NL)

16=Wspólny wstaw zakresu kluczy (LCK_M_RI_S)

17=Aktualizacja zakresu kluczy (LCK_M_RI_U)

18=Ekskluzywne wstawianie w zakresie kluczy (LCK_M_RI_X)

19=Wyłączny zakres kluczy współdzielony (LCK_M_RX_S)

20=Ekskluzywna aktualizacja zakresu kluczy (LCK_M_RX_U)

21=Ekskluzywne w zakresie kluczy (LCK_M_RX_X)
32 Tak
NTDomainName nvarchar Domena systemu Windows, do której należy użytkownik. 7 Tak
NTUserName nvarchar Nazwa użytkownika systemu Windows. 6 Tak
Identyfikator obiektu int Identyfikacja obiektu, która została wygasła, jeśli była dostępna i stosowana. 22 Tak
ObjectID2 bigint Identyfikator powiązanego obiektu lub podmiotu, jeśli jest dostępny i dotyczy. 56 Tak
OwnerID int 1=TRANSAKCJA

2=KURSOR

3=SESJA

4=SHARED_TRANSACTION_WORKSPACE

5=EXCLUSIVE_TRANSACTION_WORKSPACE
58 Tak
Identyfikator żądania int Identyfikator żądania zawierającego instrukcję . 49 Tak
NazwaSerwera nvarchar Nazwa śledzonego wystąpienia programu SQL Server. 26 Nie.
SessionLoginName nvarchar Nazwa logowania użytkownika, który utworzył sesję. Na przykład, jeśli połączysz się z SQL Server za pomocą Login1 i wykonasz polecenie jako Login2, SessionLoginName pokazuje Login1; natomiast LoginName pokazuje Login2. W tej kolumnie są wyświetlane zarówno identyfikatory logowania programu SQL Server, jak i systemu Windows. 64 Tak
SPID int Identyfikator sesji, w której wystąpiło zdarzenie. 12 Tak
StartTime datetime Godzina rozpoczęcia zdarzenia, jeśli jest dostępna. 14 Tak
DaneTekstowe ntext Wartość tekstu zależała od typu zamka, który był pozyskiwany w momencie upływu czasu. 1 Tak
TransactionID bigint Przypisany przez system identyfikator transakcji. 4 Tak
Typ int 1=NULL_RESOURCE

2=BAZA DANYCH

3=PLIK

5=OBIEKT

6=STRONA

7=KLUCZ

8=ZASIĘG

9=RID

10=ZASTOSOWANIE

11=METADANE

12=AUTONAMEDB

13=HOBT

14=ALLOCATION_UNIT
57 Tak

Zobacz też

sp_trace_setevent (Transact-SQL)
Lock:Timeout (timeout > 0) Klasa wydarzenia
sys.dm_tran_locks (Transact-SQL)