Udostępnij za pośrednictwem


Rozszerzona zdarzenia pakietów SQL Server

Pakiet jest kontener dla SQL Server obiektów zdarzeń rozszerzone.Istnieją trzy rodzaje opakowań rozszerzone zdarzenia, które są następujące:

  • package0 - rozszerzone zdarzenia obiektów systemu.Jest to domyślne pakiet.

  • SQLServer - SQL Server powiązanych obiektów.

  • sqlos - SQL Server systemu operacyjnego (SQLOS), powiązane obiekty.

Pakiety są identyfikowane przez nazwę, identyfikator GUID i binarne moduł, który zawiera pakiet.Aby uzyskać więcej informacji, zobacz sys.dm_xe_packages (języka Transact-SQL).

Pakiet może zawierać niektóre lub wszystkie z następujących obiektów, które zostały omówione bardziej szczegółowo w dalszej części tego tematu:

  • Zdarzenia

  • Cele

  • Actions

  • Typy

  • Predykaty

  • Mapy

Obiekty z różnych pakietów mogą być mieszane w zdarzenie sesja.Aby uzyskać więcej informacji, zobacz Rozszerzone sesje zdarzeń programu SQL Server.

Zawartość pakietu

Na następującej ilustracji pokazano obiekty, które mogą istnieć w pakiety, które są zawarte w module.Moduł może być plik wykonywalny lub biblioteki dołączanej dynamicznie.

Relacja między modułem, pakietami a obiektem

Zdarzenia

Zdarzenia monitorowane są ważne w ścieżce wykonanie programu, takich jak SQL Server. Inicjowanie zdarzeń prowadzi z nim fakt, że punkt odsetek był osiągnięto i stanu informacji z czas zostało wywołane zdarzenie.

Zdarzenia służy wyłącznie do celów śledzenia lub wywoływanie operacji.Działania te mogą być synchroniczna lub asynchroniczna.

Ostrzeżenie

Zdarzenie nie ma żadnych wiedza akcje, które mogą być wyzwalane w odpowiedzi na zdarzenie wyzwalania.

Pakiet jest zarejestrowane zdarzenia rozszerzony zestaw zdarzeń w pakiecie, nie można zmienić.

Wszystkie zdarzenia mają numerów wersji schematu, który definiuje ich zawartość.Ten schemat składa się z zdarzenie kolumn o typach dobrze zdefiniowany.zdarzenie określonego typu zawsze należy podać swoje dane w dokładnie takiej samej kolejności określona w schemacie.Jednak miejsce docelowe zdarzenie nie ma korzystającą z danych, które jest udostępniane.

Zdarzenie kategoryzacji

Rozszerzone zdarzenie wykorzystuje model kategoryzacji zdarzenie podobne do zdarzenie śledzenia dla systemu Windows (ETW).Dwa zdarzenie właściwości są używane dla kategoryzacji, kanał i słowo kluczowe.Za pomocą tych właściwości obsługuje integracja rozszerzone zdarzenia ETW i jej narzędzi.

Channel

Kanał identyfikuje odbiorców zdarzenie.Kanały te zostały opisane w poniższej tabela.

Termin

Definicja

Admin

Zdarzenia Admin są przeznaczone przede wszystkim użytkownikom końcowym, Administratorzy i pomocy technicznej.Zdarzenia, które znajdują się w kanałach administratora wskazywać na problem z dobrze zdefiniowane rozwiązanie, które administrator może działać na.Przykładem zdarzenie administracyjnego jest, gdy aplikacja nie może połączyć się z drukarką.Zdarzenia te są dobrze udokumentowanych lub związanych z nimi komunikat informujący o czytelnika, co zrobić, aby rozwiązać problem.

Operacyjne

Zdarzenia operacyjne służą do analizowania i diagnozowania problemu lub jego wystąpienia.One może służyć do wyzwalania narzędzi lub zadań na podstawie problemu lub wystąpienie.Przykładem zdarzenie operacyjnego jest, gdy drukarka jest dodawany lub usuwany z systemu.

Analityczne

Zdarzenia analityczne są publikowane w dużych ilościach.Opis działania programu, a są zazwyczaj używane w dochodzeniach wydajności.

Program Debug

Debug zdarzenia są używane wyłącznie przez deweloperów, aby zdiagnozować problem dla debugowania.

UwagaUwaga:
Zdarzenia w kanale debugowania zwracanych danych stanu wewnętrznego specyficzne dla implementacji.Schematy i danych, który zwraca zdarzeń może zmienić lub stają się nieprawidłowe w przyszłych wersjach programu SQL Server.Dlatego zdarzeń debugowania kanału może zmienić lub usunąć w przyszłości wersje programu SQL Server bez powiadomienia.

Słowo kluczowe

Słowo kluczowe jest określone dla aplikacji i włącza precyzyjny system grupowanie związanych z nimi wydarzeń, które ułatwia określenie i pobrać zdarzenie, którego chcesz użyć w sesja.Następująca kwerenda służy do uzyskiwania informacji o kluczowym.

select map_value Keyword from sys.dm_xe_map_values
where name = 'keyword_map'

Ostrzeżenie

Mapa słowa kluczowe do bieżącego grupowanie zdarzeń śledzenia SQL.

Cele

Obiekty docelowe są zdarzenie konsumentów.Cele przetwarzania zdarzeń, synchronicznie wątek, który fires zdarzenie lub asynchronicznie w wątek systemu.Zazwyczaj Przetwarzanie synchroniczne służy porządkowanie określonych danych muszą być utrzymane.Rozszerzone zdarzenie zawiera kilka obiektów docelowych używające odpowiednio kierowanie wyjścia zdarzeń.Aby uzyskać więcej informacji, zobacz Rozszerzone cele zdarzeń programu SQL Server.

Actions

Akcja jest programistyczny odpowiedzi lub serii w odpowiedzi na zdarzenie.Akcje są powiązane z zdarzenie i każdego zdarzenie mogą mieć unikatowy zestaw akcji.

Ostrzeżenie

Akcje, które są przeznaczone do określonego zestaw zdarzeń nie można powiązać nieznany zdarzenia.

akcja powiązać zdarzenie jest wywoływana synchronicznie w wątek, który uruchamiany zdarzenia.Istnieje wiele typów działań i mają szeroki zakres możliwości.Akcje można:

  • Przechwycić automatyczna kopia zapasowa stosu i sprawdzenie danych.

  • Przechowywanie informacji o stanie w kontekście lokalnym przy użyciu zmiennej magazynu.

  • Zagregowane dane zdarzenie.

  • Dołącz dane do dane zdarzenie.

Przykładem akcji typowy i znane są:

  • Stos dumper

  • Wykonanie planu wykrywania (SQL Server tylko)

  • Transact-SQLstos kolekcja (SQL Server tylko)

  • Uruchom czas Obliczanie statystyk

  • Zbieranie danych wejściowych użytkownika na wyjątku

Predykaty

Predykaty są zestaw reguł logicznych, które są używane do analizowania zdarzenia, gdy są one przetwarzane.Umożliwia użytkownikowi rozszerzone zdarzenie selektywnie przechwytywania danych zdarzenie na podstawie określonych kryteriów.

Predykaty przechowywać dane w kontekście lokalnym, używany do tworzenia predykaty zwracające wartość true raz co n minut lub co n razy zdarzenie fires.Tego kontekstu lokalnego magazynu można również dynamicznie aktualizować predykatu, tym samym pomijanie wyzwalania przyszłych zdarzeń, jeśli podobnych danych zawierają zdarzenie.

Predykaty mają możliwość pobierania informacji kontekstu, takich jak ID wątek, jak również szczegółowe dane zdarzenie.Predykaty są oceniane jako pełne wartość logiczna wyrażenie i obsługa krótkie, circuiting w pierwszym punkcie, gdzie okaże się fałszywy całego wyrażenie.

Ostrzeżenie

Predykatów z efekty uboczne nie mogą być oceniane, jeśli wcześniej wyboru predykatu.

Typy

Ponieważ kolekcja zawierać bajtów danych, długość i właściwości kolekcji bajt są wymagane do interpretacji danych.Ta informacja jest hermetyzowany w obiekcie typu.Dla obiektów pakiet dostępne są następujące typy:

  • zdarzenie

  • Akcja

  • miejsce docelowe

  • pred_source

  • pred_compare

  • type

Aby uzyskać więcej informacji, zobacz sys.dm_xe_objects (języka Transact-SQL).

Mapy

Tabela mapowania mapuje wewnętrzna wartość ciąg, który umożliwia użytkownikowi wiedzieć, co reprezentuje wartość.Zamiast tylko możliwość uzyskania wartości numeryczne, użytkownik może uzyskać zrozumiały opis wartością wewnętrzną.Następująca kwerenda pokazuje sposób uzyskiwania wartości mapy.

select map_key, map_value from sys.dm_xe_map_values
where name = 'lock_mode'

Powyższa kwerenda generuje następujące wyniki.

map_key map_value

---------------------

0 NL

1 SCH_S

2 SCH_M

3 S

4 U

5 X

6 IS

7 IU

8 IX

9 SIU

10 SIX

11 UIX

12 BU

13 RS_S

14 RS_U

15 RI_NL

16 RI_S

17 RI_U

18 RI_X

19 RX_S

20 RX_U

21 RX_X

21 RX_X

Na przykład, za pomocą tej tabela przyjęto mają kolumna o nazwie mode, a jego wartość wynosi 5.Tabela wskazuje, że mapuje 5 X, co oznacza wyłączne jest typu blokada.