SQL Server Extended Events Packages
Pakiet to kontener SQL Server Rozszerzone obiekty zdarzenia. Istnieją trzy rodzaje pakietów Extended zdarzenia, które mogą być następujące:
package0 - rozszerzony zdarzenia obiektów systemu.Jest to domyślne pakiet.
SQLServer- SQL Server obiekty powiązane.
sqlos- SQL Server System operacyjny (SQLOS) dotyczące obiektów.
Pakiety są identyfikowane przez nazwę, identyfikator GUID i binarne moduł, który zawiera pakiet.Aby uzyskać więcej informacji zobaczsys.dm_xe_packages (Transact-SQL).
Pakiet może zawierać niektóre lub wszystkie z następujących obiektów, które zostały omówione szczegółowo w dalszej części tego tematu:
Zdarzenia
Elementy docelowe
Actions
Typy
Predykaty
Mapy
Podczas sesja zdarzenie mogą być wymieszane obiekty pochodzące z różnych pakietów.Aby uzyskać więcej informacji zobaczSQL Server Extended Events Sessions.
Zawartość pakiet
Na następującej ilustracji pokazano obiekty, które mogą znajdować się w pakiety, które są zawarte w module.Moduł może być plik wykonywalny lub biblioteki dołączanej dynamicznie.
Zdarzenia
Zdarzenia monitorowanego punktów zainteresowanie ścieżka wykonywania programu, takich jak SQL Server. Wypalania zdarzenie przenosi się z nim fakt, że punkt odsetek został osiągnięty i podać informacje w momencie zdarzenie był uruchamiany.
Zdarzenia mogą być używane wyłącznie do celów śledzenia lub wyzwolenie akcji.Działania te mogą być synchroniczna lub asynchroniczna.
Uwaga
Zdarzenie nie ma żadnych wiedzę na temat czynności, które mogą być wywoływane w odpowiedzi na zdarzenie wyzwalania.
Zestaw zdarzeń występujących w pakiecie, nie można zmienić po pakiet jest zarejestrowana w rozszerzonym zdarzenia.
Wszystkie zdarzenia mają wersji schematu, określające ich zawartość.Ten schemat składa się z zdarzenie kolumn o typach dobrze zdefiniowany.zdarzenie określonego typu musi zawsze podać swoje dane w dokładnie takiej samej kolejności, którą określono w schemacie.miejsce docelowe zdarzenie nie ma jednak wykorzystać wszystkie dane, które jest dostępne.
Kategorii zdarzeń
Rozszerzone zdarzenia stosują model kategoryzacji zdarzenie podobne do zdarzenia śledzenia dla systemu Windows (ETW).Dwie właściwości zdarzenie są używane do kategoryzacji, kanał i słowo kluczowe.Korzystanie z tych właściwości obsługuje integrację Extended zdarzenia ETW i jej narzędzi.
Channel
Kanał identyfikuje odbiorców dla każdego zdarzenie.Te kanały są opisane w poniższej tabela.
Termin |
Definicja |
---|---|
Administrator |
Zdarzenia administracyjne są przeznaczone przede wszystkim użytkownikom końcowym, Administratorzy i pomocy technicznej.Zdarzenia, które można znaleźć w kanałach administratora wskazywać na problem z dobrze zdefiniowane rozwiązanie, które administrator może działać.Przykładem zdarzenie administracyjnego jest, gdy aplikacja nie może połączyć się z drukarką.Zdarzenia te mogą mieć dobrze udokumentowanych lub mają skojarzonych z nimi komunikat informuje czytelnika, co należy zrobić, aby rozwiązać problem. |
Operacyjne |
Zdarzenia operacyjne służą do analizowania i diagnozowania problemu lub jego wystąpienia.Ich może służyć do wyzwalania narzędzi lub na podstawie problemu lub wystąpienia zadania.Przykładem zdarzenie operacyjnego jest, gdy drukarka jest dodane lub usunięte z systemu. |
Analityczne |
Zdarzenia analityczne są publikowane w dużych ilościach.Te opisują z programu i są zazwyczaj używane w badaniach wydajności. |
Program Debug |
Debugowanie zdarzeń są używane wyłącznie przez deweloperów do diagnozowania problemu dla debugowania. |
Słowo kluczowe
Słowo kluczowe jest specyficzne dla aplikacji i pozwala lepiej przetwarzaniu zgrupowanie powiązanych zdarzeniach, co ułatwi określenie i pobrać zdarzenie, które mają być używane w sesja.Następująca kwerenda umożliwia uzyskanie informacji słowa kluczowego.
select map_value Keyword from sys.dm_xe_map_values
where name = 'keyword_map'
Uwaga
Mapa słowa kluczowe do bieżącego grupowanie zdarzeń śledzenia SQL.
Elementy docelowe
Elementy docelowe są odbiorców zdarzeń.Elementy docelowe przetworzyć zdarzenie, synchronicznie na wątek, który uruchomieniu zdarzenie albo asynchronicznie w wątek, pod warunkiem że system.Zazwyczaj Przetwarzanie synchroniczne służy porządkowanie określonych danych muszą być zachowane.Rozszerzone zdarzenie zawiera kilka elementów docelowych, których można używać odpowiednio do kierowania danych wyjściowych zdarzenie.Aby uzyskać więcej informacji zobaczSQL Server Extended Events Targets.
Actions
Akcja jest programistyczny odpowiedzi lub seria odpowiedzi na zdarzenie.Akcje są powiązane z zdarzenie, a każde zdarzenie może mieć unikatowy zestaw akcji.
Uwaga
Akcje, które są przeznaczone do określonego zestaw zdarzeń nie można powiązać z nieznanym zdarzenia.
Działanie związane ze zdarzeniami jest wywoływana synchronicznie na wątek, który uruchomił nieobsługiwane zdarzenie.Istnieje wiele typów działań i mają szeroką gamę możliwości.Akcje mogą wykonywać następujące czynności:
Przechwytywanie automatyczna kopia zapasowa stosu i sprawdzenie danych.
W kontekście lokalnego przy użyciu zmiennej magazynowania są przechowywane informacje o stanie.
Agregowanie danych zdarzenie.
Dołącz dane do dane zdarzenie.
Przykłady typowych i dobrze znanych akcje są następujące:
Dumper stosu
(Wykrywanie plan wykonaniaSQL Server tylko)
Transact-SQL stos (kolekcjaSQL Server tylko)
Obliczanie statystyk czas uruchamiania
Zbieranie danych wprowadzanych przez użytkownika na wyjątku
Predykaty
Predykaty są zestaw reguł logicznych, które są używane do analizowania zdarzenia, gdy są one przetwarzane.To umożliwia użytkownikowi Extended zdarzenie selektywnie przechwytywania danych zdarzenie na podstawie określonych kryteriów.
Predykaty mogą przechowywać dane w kontekście lokalnego, które mogą być używane do tworzenia predykatów, który zwraca wartość true raz co n minut lub co n razy uruchomieniu zdarzenie.Ten magazyn lokalny kontekst można również dynamiczne aktualizowanie predykacie, w związku z tym pomijanie wyzwalania zdarzenie przyszłych Jeśli zdarzenie zawiera podobne dane.
Predykaty mają możliwość pobierania informacji kontekstu, takie jak ID wątek, a także szczegółowe dane zdarzenie.Predykaty są obliczane jako wyrażenie boolowskie pełne i obsługuje krótkie circuiting w pierwszym punkcie, gdzie okaże się fałszywy całego wyrażenie.
Uwaga
Nie mogą być oceniane predykatów z efektami, jeśli wcześniej sprawdzeniem predykatu nie powiedzie się.
Typy
Ponieważ danych jest zbiorem bajtów obsadzone ze sobą, długość i właściwości kolekcja bajt są wymagane w celu interpretowania danych.Informacje te są hermetyzowane w obiekt tekstowy.W przypadku obiektów pakiet dostępne są następujące typy:
zdarzenie
Akcja
miejsce docelowe
pred_source
pred_compare
Typ
Aby uzyskać więcej informacji zobaczsys.dm_xe_objects (Transact-SQL).
Mapy
Tabela mapowania mapuje wartość wewnętrznego ciąg, który umożliwia użytkownikowi wiedzieć, co reprezentuje wartość.Zamiast tylko możliwość uzyskania wartości liczbowe, użytkownik może uzyskać zrozumiały opis wartości wewnętrzne.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 daje następujące dane wyjściowe.
map_key map_value
---------------------
0 NL
1 SCH_S
2 SCH_M
3 S
4 U
5 X
6 JEST
7 J.M.
8 IX
9 SIU
10-6
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
Za pomocą tej tabela, na przykład, załóżmy, że istnieje kolumna o nazwie trybu, a jego wartość wynosi 5.W tabela wskazuje, że mapuje 5 X, co oznacza, z wyłączeniem jest typu blokada.