Zablokuj: eskalacji klasa zdarzenia
The blokada:Escalation klasa zdarzenia indicates that a finer-grained blokada has been converted to a coarser-grained blokada; for example, a row blokada that is converted to an object blokada.Eskalacji klasa zdarzenie wynosi 60 identyfikator zdarzenie.
blokada: Eskalacji zdarzeń klasy danych kolumny
Nazwa kolumny danych |
Typ danych |
Description |
Identyfikator kolumny |
Czy umożliwia filtrowanie |
---|---|---|---|---|
ApplicationName |
nvarchar |
Nazwa aplikacji klient, który utworzył połączenie z wystąpienie programu SQL Server. CursorExecute |
10 |
Tak |
ClientProcessID |
int |
Identyfikator przypisany przez komputer-host to proces, w którym jest uruchomiona aplikacja klient.Ta kolumna danych jest pusta, jeśli klient dostarcza klientowi przetworzyć identyfikatora. |
9 |
Tak |
DatabaseID |
int |
ID of the database in which the lock was acquired.SQL Server Profiler displays the name of the database if the ServerName data column is captured in the trace and the server is available.Należy określić wartość dla bazy danych za pomocą funkcja DB_ID. |
3 |
Tak |
NazwaBazyDanych |
nvarchar |
Nazwa bazy danych, w której wystąpiło eskalacji. |
35 |
Tak |
EventClass |
int |
Typ zdarzenie = 60. |
27 |
Nie |
EventSubClass |
int |
Przyczyna eskalacja blokad: 0 - LOCK_THRESHOLD wskazuje instrukcja przekroczony próg blokada. 1 MEMORY_THRESHOLD wskazuje instrukcja przekroczony próg pamięci. |
21 |
Tak |
EventSequence |
int |
Sekwencja danego zdarzenie w żądaniu. |
51 |
Nie |
GroupID |
int |
Identyfikator grupy obciążenia, gdy zdarzenie śledzenia SQL uruchomieniu. |
66 |
Tak |
Exec Prepared SQL |
nvarchar |
Nazwa komputera, na którym działa klient.Ta kolumna danych jest pusta, jeśli klient dostarcza nazwę hosta.Aby określić nazwę hosta, należy użyć funkcja HOST_NAME. |
8 |
Tak |
IntegerData |
int |
Liczba blokad HoBT.Wyświetla liczbę blokad dla HoBT w momencie eskalacja blokad. |
25 |
Tak |
IntegerData2 |
int |
Licznik escalated blokada.Całkowita liczba blokad, które zostały przekonwertowane.Te struktury blokada są przydziałów, ponieważ są one już objęte escalated blokada. |
55 |
Tak |
IsSystem |
int |
Wskazuje, czy zdarzenie wystąpiło w procesie systemowym, czy w procesie użytkownika.1 = proces systemowy; 0 = proces użytkownika. |
60 |
Tak |
LineNumber |
int |
Numer wiersza Transact-SQL Instrukcja. |
5 |
Tak |
LoginName |
nvarchar |
Nazwa logowania użytkownika (albo SQL Server Logowanie zabezpieczeń lub Microsoft System Windows poświadczenia logowania w postaci domena\nazwa_użytkownika). |
11 |
Tak |
LoginSid |
image |
Numer identyfikacyjny zabezpieczeń (SID) użytkownika zalogowanego.Niniejsze informacje można znaleźć sys.server_principals Służy do wyświetlania katalogu. Każdy identyfikator SID jest unikatowy dla każdego logowania na serwerze. |
41 |
Tak |
Tryb |
int |
Wynikowy trybu blokada po eskalacji: 0 = NULL - zgodny ze wszystkich innych blokada trybów (LCK_M_NL) 1 = Stabilności schematu blokada (LCK_M_SCH_S) 2 = Modyfikacji schematu blokada (LCK_M_SCH_M) 3 = blokada współdzielona (LCK_M_S) 4 = Blokada aktualizacji (LCK_M_U) 5 = blokada na wyłączność (LCK_M_X) 6 = Konwersji blokada współdzielona (LCK_M_IS) 7 = Konwersji blokada aktualizacji (LCK_M_IU) 8 = Konwersji blokadę wyłączności (LCK_M_IX) 9 = Shared z zamiarem aktualizacji (LCK_M_SIU) 10 = Współużytkowane z wyłącznością konwersji (LCK_M_SIX) 11 = Aktualizacji z wyłącznością konwersji (LCK_M_UIX) 12 = Blokada aktualizacji zbiorczej (LCK_M_BU) 13 = Zakres klucz udostępniony/folder (LCK_M_RS_S) 14 = Zakres klucz udostępniony/Aktualizuj (LCK_M_RS_U) 15 = Zakres klucz, Wstaw wartość NULL (LCK_M_RI_NL) 16 = Wstaw zakres klucz udostępniony (LCK_M_RI_S) 17 = Zakres klucz Wstaw, Aktualizuj (LCK_M_RI_U) 18 = Wstaw zakres klucz z wyłączeniem (LCK_M_RI_X) 19 = Zakres klucz z wyłączeniem udostępnione (LCK_M_RX_S) 20 = Zakres klucz z wyłącznością aktualizacji (LCK_M_RX_U) 21 = Zakres klucz z wyłączeniem z wyłącznością (LCK_M_RX_X) |
32 |
Tak |
NTDomainName |
nvarchar |
Domena systemu Windows, do której należy dany użytkownik. |
7 |
Tak |
NTUserName |
nvarchar |
Przygotowanie programu SQL |
6 |
Tak |
Identyfikator obiektu |
int |
Przypisane przez system identyfikator tabela, dla których eskalacja blokad został wyzwolony. |
22 |
Tak |
ObjectID2 |
bigint |
Identyfikator powiązanego obiektu lub obiektu.(Identyfikator HoBT, dla których eskalacja blokad został wyzwolony.) |
56 |
Tak |
Występuje, gdy wykonuje kwerendę pełnego tekstu. |
int |
Początkowe przesunięcie Transact-SQL Instrukcja. |
61 |
Tak |
OwnerID |
int |
1 = TRANSAKCJI 2 = kursor 3 = sesja 4 = SHARED_TRANSACTION_WORKSPACE 5 = EXCLUSIVE_TRANSACTION_WORKSPACE 6 = WAITFOR_QUERY |
58 |
Tak |
IdentyfikatorŻądania |
int |
Występuje, gdy uprawnienie obiektów (takich jak SELECT) jest używana pomyślnie lub niepomyślnie. |
49 |
Tak |
Nazwa_serwera |
nvarchar |
Nazwa wystąpienie programu SQL Server śledzone. |
26 |
Nie |
SessionLoginName |
nvarchar |
Nazwa logowania użytkownika, który pochodzi z sesja.Na przykład, jeśli łączysz się z SQL Server za pomocą Login1 i wykonać instrukcję jako Login2, SessionLoginName pokazuje Login1 i LoginName pokazuje Login2.W tej kolumnie są wyświetlane oba SQL Server i identyfikatory logowania systemu Windows. |
64 |
Tak |
SPID |
int |
Identyfikator sesja, na którym wystąpiło zdarzenie. |
12 |
Tak |
Godzina rozpoczęcia |
datetime |
Czas, w którym zdarzenie uruchomione, jeśli są dostępne. |
14 |
Tak |
TextData |
ntext |
Tekst Transact-SQL Instrukcja, która spowodowała eskalacja blokad. |
1 |
Tak |
TransactionID |
bigint |
Identyfikator przypisany systemu transakcji. |
4 |
Tak |
Typ |
int |
eskalacja blokad rozdrobnienia: 1 = NULL_RESOURCE 2 = BAZY DANYCH 3 = PLIK 5 = OBJECT (poziom tabela) 6 = strona 7 = klucz 8 = fragment 9 = RID 10 = APLIKACJI 11 = metadane 12 = HOBT 13 = ALLOCATION_UNIT |
57 |
Tak |
Przykłady
W poniższym przykładzie użyto sp_trace_create procedurę, aby utworzyć śledzenie wykorzystania sp_trace_setevent Aby dodać kolumny eskalacji blokada do śledzenia, a następnie zastosowania sp_trace_setstatus Aby uruchomić śledzenie. W instrukcjach np. EXEC sp_trace_setevent @TraceID, 60, 22, 1, liczba 60 Wskazuje eskalacji klasa zdarzenia, 22 Wskazuje Identyfikator obiektu Kolumna a 1 Ustawia ON zdarzenie śledzenia.
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 byusing sp_trace_setfilter.
-- Start the trace.
EXEC sp_trace_setstatus @TraceID, 1
GO
Teraz, śledzenia jest uruchomiony, należy wykonać instrukcje do śledzenia.Gdy ukończą, należy wykonać poniższy kod, aby zatrzymać, a następnie zamknij śledzenia.W tym przykładzie użyto fn_trace_getinfo Funkcja uzyskanie traceid do użytku w sp_trace_setstatus instrukcje.
-- 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