Udostępnij za pośrednictwem


Wprowadzenie do programu SQL Server Extended zdarzenia

SQL Server Rozszerzone zdarzenie (Extended zdarzenie) jest ogólny system obsługi zdarzeń dla systemów serwerowych Windows.Rozszerzone zdarzenia infrastruktury obsługuje korelacji danych z SQL Serveri pod pewnymi warunkami korelacji danych z systemu operacyjnego i aplikacji bazy danych.W drugim przypadek rozszerzone zdarzenia wyjścia muszą być skierowane do zdarzeń śledzenia dla systemu Windows (ETW) w celu skorelowania danych zdarzeń z systemu operacyjnego lub aplikacji dane zdarzenie.

Wszystkie aplikacje mają punkty wykonanie, które są przydatne do wewnątrz i na zewnątrz aplikacji.Wewnątrz aplikacji przetwarzania asynchronicznego może być został umieszczony w kolejce przy użyciu informacji zebranych podczas wstępnej realizacji zadania.Poza aplikacji punkty wykonanie zapewniają narzędzia monitorowania informacji o cechy funkcjonalne i wydajności aplikacji monitorowanych.

Rozszerzone zdarzenia obsługuje zdarzenie danych poza procesem.Danych jest zazwyczaj używany przez:

  • Śledzenie narzędzi, takich jak Monitor systemu i śledzenia SQL.

  • Narzędzia rejestrowania, takie jak Windows zdarzenie dziennik błędówa lub SQL Server można błąd

  • Użytkownicy administrowanie produktu lub aplikacji na produkt.

Rozszerzone zdarzenia projektowania i funkcje

Rozszerzone zdarzenia mają następujące aspekty projektu klucz:

  • Aparat rozszerzone zdarzenia jest zdarzenie agnostic, która pozwala powiązać wszystkie zdarzenia do dowolnego miejsce docelowe, ponieważ aparat nie jest ograniczony przez zdarzenie zawartości silnika.Więcej informacji o aparat Extended zdarzeń, zobacz SQL ServerRozszerzone zdarzenia silnika.

  • zdarzenie są oddzielone od odbiorców zdarzeń, które są nazywane cele w rozszerzonej zdarzenie.Oznacza to, że dowolny miejsce docelowe może odbierać wszystkie zdarzenie.Ponadto, wszelkie zdarzenie, które jest wywoływane można automatycznie zużywany przez miejsce docelowe, które można rejestrować lub kontekst dodatkowe zdarzenie.Aby uzyskać więcej informacji, zobacz Rozszerzone cele zdarzeń programu SQL Server

  • zdarzenie są odmienne od akcja do wykonania po zdarzenie.W wyniku akcja można skojarzyć z dowolną zdarzenie.

  • Predykaty dynamicznie można filtrować zdarzenie wyzwalania, która dodaje do elastyczność infrastruktury rozszerzone zdarzenie.Aby uzyskać więcej informacji, zobacz Rozszerzona zdarzenia pakietów SQL Server.

Rozszerzone zdarzenia można synchronicznie generować dane zdarzenie (i asynchronicznie przetwarzania danych) który zapewnia elastyczne rozwiązanie obsługi zdarzeń.Ponadto zdarzenia Extended udostępnia następujące funkcje:

  • Ujednolicone podejście do obsługi zdarzeń w całym systemie serwera, podczas gdy w tym samym czas umożliwiające użytkownikom izolowania określonych zdarzeń w celu rozwiązywania problemów.

  • Integracja z i obsługę istniejące narzędzia ETW.

  • Pełni konfigurowalnych zdarzenie na podstawie mechanizmu obsługi Transact-SQL.

  • Możliwość monitorowania dynamicznie aktywnych procesów, podczas gdy w tym samym czas posiadające minimalny wpływ na te procesy.

Rozszerzone zdarzenia przy użyciu ETW.

Jeśli chcesz użyć zdarzenia rozszerzone do skorelowania danych z systemu operacyjnego i aplikacji bazy danych, zaleca się miały pracy wiedza z ETW.ETW mogą być używane w połączeniu ze zdarzeniami rozszerzone lub jako odbiorca zdarzeń rozszerzone zdarzenie.Poniższe tematy zawierają punkt wyjścia dla uzyskania informacje dotyczące ETW:

Scenariusze używania rozszerzone zdarzenia

Rozszerzone zdarzenia można użyć dla szerokiego zakres monitorowania i rozwiązywania problemów scenariuszy.Poniższe scenariusze ilustrują niektóre sytuacje, gdzie zdarzenia Extended można zapewnić cennych danych rozwiązywania problemów w takich dziedzinach jak:

  • Rozwiązywanie problemów z przyczyny pracy zestaw przycinania.

  • Rozwiązywanie problemów z nadmierne obciążenie Procesora.

  • Rozwiązywanie problemów z zakleszczenia.

  • Korelowanie aktywności żądania z dziennikami ETW systemu Windows.

Rozwiązywanie problemów z przyczyny pracy zestaw przycinania

Występują problemy z wydajnością poważne z serwerem produkcji powoduje aplikacjom klienckim czas się.Problemy te wydają się być przejściowe i wydajności wróci do normy po 10-15 minut.

Badania SQL Server dzienniku błędów i znaleźć następujące komunikaty o błędach:

"A significant part of the server process has been paged out. This may result in performance degradation. Duration: 300 seconds. Current memory utilization 34%."

"Non-yielding IOCP Listener."

Ostrzeżenie

IOCP oznacza "Port We/Wy wykonania". Ten port usługi żądań użytkowników za pośrednictwem sieci.Komunikat wskazuje, że portu zakończenia zostało zablokowane dla ostatniej minuty.

Podejrzewasz, że, SQL Server nie odpowiada na wystarczająco szybko presji pamięci na serwerze.Podczas sprawdzania pamięci za pomocą Menedżera zadań, wydaje się więcej niż za mało dostępnej pamięci na serwerze.Spróbuj połączyć się z bazą danych z SQL Server Management Studio, ale próba połączenia razy out.Można połączyć się z serwerem poprzez wydanie polecenie SQLCMD - A polecenia wiersz polecenia systemu Windows.Spowoduje to otwarcie sesja połączenia dedykowane administratora.

Użytkownik zdecyduje się użyć zdarzenia rozszerzony, aby uzyskać więcej informacji.Utworzenia sesja rozszerzone zdarzenia, które:

  • Dodaje zdarzenia sygnału pamięci systemu i zmień pamięci serwera całkowitej.

  • Kieruje je do ETW.Te dane wyjściowe będą zapisywane do pliku, który jest tworzony na dysku, który nie jest używany dla pliku strona lub przez SQL Server pliki bazy danych.

W wiersz polecenia systemu Windows będzie wykonać instrukcji do włączania śledzenia ETW zdarzeniami pamięci jądra systemu Windows.Zezwalaj zarówno śladów uruchomić kilka minut, a następnie Zamknij sesja rozszerzone zdarzenia i śledzenia jądra systemu Windows.

Możesz użyć tracerpt.exe do skorelowania śledzenia systemu Windows i SQL Server śledzenia ETW.Wyszukaj zdarzenie wskazujące, że powiadomienie mało pamięci systemu została zestaw, ale nie znaleźć.Zamiast tego zobacz dużej liczby błędów strona od wszystkich procesów na serwerze.Przejrzeć zdarzenia tuż przed stronicowania i dowiedzieć się, że zestawów roboczych wszystkie procesy zostały obcięte w odpowiedzi na żądania alokacji pamięci sterownika.

Rozwiązywanie problemów z nadmierne obciążenie Procesora

Nadmierne obciążenie Procesora analizują w systemie produkcji.Określić, jeśli użycie Procesora można przyporządkować do kwerend uruchamianych w systemie za pomocą różnych widoków zarządzania dynamicznych (DMVs).Badanie to wskazuje, że większość kwerend ad hoc kwerend użytkownika.Informacje uzyskane z DMVs nie jest wystarczająco zdiagnozować problem.

Utworzenia sesja rozszerzone zdarzenia, które:

  • Umożliwia zdarzenia Kończenie instrukcja z predykaty określających próg Procesora.

  • Ma akcja tylko zebrać planu kwerend po zdarzenie.

  • Zapisuje wszystkie dane zebrane w pliku.Ten plik znajduje się na dysku, który nie zawiera żadnych plików dziennika lub bazy danych.

Po uruchomieniu sesja rozszerzone zdarzenia Przeanalizuj wyjście i są w stanie określić, że przyczyną problemu Procesora jest konwersja typu danych między dwoma tabelami powszechnie sprzężonych.

Rozwiązywanie problemów z zakleszczenia

Od użytkowników wskazująca niektóre aplikacje zwróconego zakleszczenie błędy zostały odbieranie raportów.Aby zmaksymalizować skuteczność rozwiązywania tych problemów, zdecydować się skupić na zakleszczenia, które są trafione w najczęściej.Utworzenia sesja rozszerzone zdarzenia, które:

  • Konfiguruje zakleszczenie zdarzenie śledzenie sesja.

  • Określa miejsce docelowe , kruszywa oparte na identyfikator zakleszczenie.

Uruchamia sesja rozszerzone zdarzenia, a po dodatkowe zakleszczenie są zgłaszane jest możliwe uzyskanie informacji sumarycznych zakleszczenie, wraz z pełną wykresu zakleszczenie XML dla każdego źródło.Wykorzystując te informacje są w stanie pin pkt najczęściej zakleszczenia i rozpocząć pracę nad rozwiązaniem.

Korelowanie aktywności żądania z dziennikami ETW systemu Windows

Rozwiązywanie problemów z wolno aplikacjiniedziałający na serwerze produkcyjnym i mogli zawęzić niedziałający przyczyną czas odczytu dysku razy.Utworzenia sesja rozszerzone zdarzenia, które:

  • Dodaje odczytów dysku jako zdarzenie sesja.

  • Wysyła dane zebrane do ETW.

Po uruchomieniu sesja zdarzenia Extended można uruchomić śledzenia jądra systemu Windows, ETW.Po 10 minutach zatrzymać się zarówno sesje.

Scalanie śledzenia systemu Windows i śledzenia SQL ETW za pomocą tracerpt.exe.Z tego scalone śledzenia można skorelować i śledzenia żądań odczytu od SQL Server do jądra systemu Windows.Analiza ta wskazuje długie opóźnienie przed żądań We/Wy jest zwracany do SQL Server.Wykorzystując te informacje z całą pewnością ustalić, że problem we/wy leży w fizycznej we/wy ścieżka.