Udostępnij za pośrednictwem


Klasa zdarzenia eskalację blokady:

Eskalację blokada: klasa zdarzenie wskazuje przekonwertowany blokada precyzyjny system blokada gruboziarnisty średnioziarnistego; na przykład blokada wiersza , jest konwertowany na obiekt blokada.Eskalacja klasa zdarzenie 60 identyfikator zdarzenie.

Kolumny danych klasy zdarzeń eskalację blokady:

Nazwa kolumny danych

Typ danych

Opis

Identyfikator kolumny

Czy umożliwia filtrowanie

ApplicationName

nvarchar

Nazwa aplikacji klient, który utworzył połączenie z wystąpienie SQL Server.To kolumna jest wypełniona wartości przekazanych przez aplikację, a nie wyświetlaną nazwę programu.

10

Tak

ClientProcessID

int

Identyfikator przypisany przez komputer-host do procesu, w którym jest uruchomiona aplikacja klient.Ta kolumna danych jest wypełniane, 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 przy użyciu funkcja DB_ID.

3

Tak

DatabaseName

nvarchar

Nazwa bazy danych, w którym wystąpił eskalacją.

35

Tak

EventClass

int

Typ zdarzenie = 60.

27

Nie

EventSubClass

int

Przyczyną 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 grupa obciążenia, gdy zdarzenie śledzenia SQL fires.

66

Tak

Nazwa hosta

nvarchar

Nazwa komputera, na którym działa klient.Ta kolumna danych jest wypełniane, jeśli klient dostarcza nazwę hosta.Aby określić nazwę hosta, należy użyć funkcja HOST_NAME.

8

Tak

IntegerData

int

HoBT blokada count.Liczba blokad dla HoBT na czas z eskalację blokada.

25

Tak

IntegerData2

int

Przekazany blokada count.Całkowita liczba blokad, które zostały przekonwertowane.Te struktury blokada są cofniętych przydziałów, ponieważ są one już objęte escalated blokada.

55

Tak

IsSystem

int

Wskazuje, czy wystąpiło zdarzenie procesu systemowego lub proces użytkownika.1 = system, 0 = użytkownika.

60

Tak

LineNumber

int

Liczba linii Transact-SQL instrukcja.

5

Tak

LoginName

nvarchar

Nazwa logowania użytkownika (albo SQL Server logowania zabezpieczeń lub Microsoft poświadczenia logowania systemu Windows w postaci domena\nazwa_użytkownika).

11

Tak

LoginSid

image

Numer identyfikacyjny zabezpieczeń (SID) użytkownika zalogowanego.Można znaleźć te informacje w sys.server_principals wykazu widoku.Każdy identyfikator SID jest unikatowy dla każdego identyfikatora logowania na serwerze.

41

Tak

Tryb

int

Tryb blokada powstałe po Eskalacja:

0 = NULL - zgodne z wszystkich innych blokada trybów (LCK_M_NL)

1 = Stabilności schematu blokada (LCK_M_SCH_S)

2 = Zablokuj modyfikacji schematu (LCK_M_SCH_M)

3 = Blokadę (LCK_M_S)

4 = Blokada aktualizacji (LCK_M_U)

5 = Wyłączności (LCK_M_X)

6 = Blokadę konwersji (LCK_M_IS)

7 = Konwersji blokada aktualizacji (LCK_M_IU)

8 = Konwersji wyłączności (LCK_M_IX)

9 = Udostępnione z zamiarem aktualizacji (LCK_M_SIU)

10 = Udostępniane wyłącznie 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 i udostępnione (LCK_M_RS_S)

14 = Zakres klucz udostępniony i aktualizacji (LCK_M_RS_U)

15 = Zakres klawisza Insert NULL (LCK_M_RI_NL)

16 = Wstaw zakres klucza udostępnionego (LCK_M_RI_S)

17 = Zakres klucz wstawienie, aktualizacja (LCK_M_RI_U)

18 = Zakres klawisza Insert wyłączności (LCK_M_RI_X)

19 = Udostępniony klucz zakres wyłączności (LCK_M_RX_S)

20 = Klucz zakres wyłącznych aktualizacji (LCK_M_RX_U)

21 = Klucz zakres wyłącznych wyłączności (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

Przypisane przez system identyfikator tabela, które eskalacja blokad został wyzwolony.

22

Tak

ObjectID2

bigint

Identyfikator obiekt powiązanych lub obiekt.(Identyfikator HoBT, dla którego eskalacja blokad został wyzwolony.)

56

Tak

Przesunięcie

int

Początkowe przesunięcie z Transact-SQL instrukcja.

61

Tak

OwnerID

int

1 = TRANSAKCJI

2 = KURSORA

3 = SESJI

4 = SHARED_TRANSACTION_WORKSPACE

5 = EXCLUSIVE_TRANSACTION_WORKSPACE

6 = WAITFOR_QUERY

58

Tak

IdentyfikatorŻądania

int

Identyfikator żądania zawierające instrukcja.

49

Tak

Nazwa_serwera

nvarchar

Nazwa wystąpienie 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 wykonywanie instrukcja jako Login2, SessionLoginName pokazuje Login1 i LoginName zawiera Login2.To kolumna wyświetla zarówno SQL Server i logowania do systemu Windows.

64

Tak

SPID

int

Identyfikator sesja, na którym wystąpiło zdarzenie.

12

Tak

Godzina rozpoczęcia

datetime

Czas, jaką zdarzenie uruchomiona, jeśli są dostępne.

14

Tak

TextData

ntext

Tekst Transact-SQL instrukcja, która spowodowała eskalacja blokad.

1

Tak

Identyfikator transakcji

bigint

Identyfikator przypisany systemu transakcji.

4

Tak

Typ

int

ziarnistość eskalacji blokady:

1 = NULL_RESOURCE

2 = BAZY DANYCH

3 = PLIK

5 = Obiekt (poziom tabela)

6 = STRONA

7 = KLUCZ

8 = ZAKRES

9 = RID

10 = APLIKACJI

11 = METADANYCH

12 = HOBT

13 = ALLOCATION_UNIT

57

Tak

Przykłady

W poniższym przykładzie użyto sp_trace_create używa procedurę, aby utworzyć śledzenie, sp_trace_setevent dodać eskalacja blokad kolumn do śledzenia, a następnie używa sp_trace_setstatus do uruchomienia śledzenia.W sprawozdaniu, takich jak EXEC sp_trace_setevent @TraceID, 60, 22, 1, numer 60 wskazuje Eskalacja klasa zdarzenia, 22 wskazuje ObjectID kolumna, a 1 Ustawia zdarzenie śledzenia na.

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, aby uzyskać traceid do sp_trace_setstatus instrukcji.

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