Udostępnij za pomocą


Monitorowanie składników programu SQL Server

Dotyczy:programu SQL Server

Monitorowanie jest ważne, ponieważ program SQL Server udostępnia usługę w środowisku dynamicznym. Dane w aplikacji zmieniają się. Typ dostępu, jakiego potrzebują użytkownicy, się zmienia. Sposób, w jaki użytkownicy się łączą, zmienia się. Typy aplikacji, które uzyskują dostęp do programu SQL Server, mogą nawet ulec zmianie, ale program SQL Server automatycznie zarządza zasobami na poziomie systemu, takimi jak pamięć i miejsce na dysku, aby zminimalizować potrzebę rozbudowanego ręcznego dostrajania na poziomie systemu. Monitorowanie umożliwia administratorom identyfikowanie trendów wydajności w celu określenia, czy zmiany są konieczne.

Aby skutecznie monitorować dowolny składnik programu SQL Server:

  1. Określ cele monitorowania.
  2. Wybierz odpowiednie narzędzie.
  3. Identyfikowanie składników do monitorowania.
  4. Wybierz metryki dla tych składników.
  5. Monitoruj serwer.
  6. Analizowanie danych.

Te kroki zostały omówione z kolei poniżej.

Określanie celów monitorowania

Aby skutecznie monitorować program SQL Server, należy wyraźnie zidentyfikować przyczynę monitorowania. Przyczyny mogą obejmować następujące kwestie:

  • Ustanów punkt odniesienia dla wydajności.
  • Identyfikowanie zmian wydajności w czasie.
  • Diagnozowanie określonych problemów z wydajnością.
  • Identyfikowanie składników lub procesów do optymalizacji.
  • Porównaj wpływ różnych aplikacji klienckich na wydajność.
  • Przeprowadź inspekcję aktywności użytkownika.
  • Przetestuj serwer pod różnymi obciążeniami.
  • Testowanie architektury bazy danych.
  • Harmonogramy konserwacji testów.
  • Testowanie planów tworzenia kopii zapasowych i przywracania.
  • Określanie, kiedy należy zmodyfikować konfigurację sprzętu.

Wybierz odpowiednie narzędzie

Po ustaleniu, dlaczego monitorujesz, należy wybrać odpowiednie narzędzia dla tego typu monitorowania. System operacyjny Windows i program SQL Server udostępniają kompletny zestaw narzędzi do monitorowania serwerów w środowiskach intensywnie korzystających z transakcji. Te narzędzia wyraźnie ujawniają stan wystąpienia silnika bazy danych programu SQL Server lub wystąpienia usług Analysis Services programu SQL Server.

System Windows udostępnia następujące narzędzia do monitorowania aplikacji działających na serwerze:

  • Start Performance Monitor (Windows), co umożliwia zbieranie i wyświetlanie danych w czasie rzeczywistym dotyczących działań, takich jak pamięć, dysk i użycie procesora.
  • Dzienniki wydajności i alerty
  • Menedżer zadań

Aby uzyskać więcej informacji o narzędziach systemu Windows Server lub Windows, zobacz dokumentację systemu Windows.

Program SQL Server udostępnia następujące narzędzia do monitorowania składników programu SQL Server:

Ważny

Śledzenie SQL i program SQL Server Profiler są przestarzałe. Przestrzeń nazw Microsoft.SqlServer.Management.Trace, zawierająca obiekty śledzenia i odtwarzania programu Microsoft SQL Server, jest również przestarzała.

Ta funkcja zostanie usunięta w przyszłej wersji programu SQL Server. Unikaj używania tej funkcji w nowych pracach programistycznych i zaplanuj modyfikowanie aplikacji, które obecnie korzystają z tej funkcji.

Zamiast tego użyj Wydarzeń Rozszerzonych. Aby uzyskać więcej informacji na temat przeglądu zdarzeń rozszerzonych , zobacz Szybki start: Zdarzenia rozszerzone i Używanie profilera XEvent programu SSMS .

Notatka

Program SQL Server Profiler dla obciążeń usług Analysis Services nie jest przestarzały i nadal będzie obsługiwany.

Aby uzyskać więcej informacji na temat narzędzi do monitorowania programu SQL Server, zobacz Narzędzia do monitorowania wydajności i dostrajania.

Identyfikowanie składników do monitorowania

Trzecim krokiem monitorowania wystąpienia SQL Server jest zidentyfikowanie składników, które są monitorowane. Jeśli na przykład używasz programu SQL Server Profiler do śledzenia serwera, możesz zdefiniować ślad do zbierania danych dotyczących określonych zdarzeń. Możesz również wykluczyć zdarzenia, które nie mają zastosowania do twojej sytuacji.

Wybieranie metryk dla monitorowanych składników

Po zidentyfikowaniu składników do monitorowania określ metryki dla monitorowanych składników. Na przykład, po wybraniu zdarzeń do śledzenia, można uwzględnić tylko określone dane dotyczące tych zdarzeń. Ograniczenie śledzenia do danych istotnych dla śledzenia minimalizuje zasoby systemowe wymagane do wykonania śledzenia.

Monitorowanie serwera

Aby monitorować serwer, uruchom narzędzie do monitorowania skonfigurowane do zbierania danych. Na przykład po zdefiniowaniu śledzenia można uruchomić ślad, aby zebrać dane dotyczące zdarzeń zgłoszonych na serwerze.

Analizowanie danych

Po zakończeniu śledzenia przeanalizuj dane, aby sprawdzić, czy udało Ci się osiągnąć cel monitorowania. Jeśli nie, zmodyfikuj składniki lub metryki użyte do monitorowania serwera.

Poniżej przedstawiono proces przechwytywania danych zdarzeń i umieszczania ich w użyciu.

  1. Zastosuj filtry, aby ograniczyć zebrane dane zdarzenia.

    Ograniczenie danych zdarzeń umożliwia systemowi skupienie się na zdarzeniach istotnych dla scenariusza monitorowania. Jeśli na przykład chcesz monitorować wolne zapytania, możesz użyć filtru do monitorowania tylko tych zapytań wystawionych przez aplikację, które zajmują więcej niż 30 sekund na konkretnej bazie danych.

    Aby uzyskać więcej informacji na temat filtrowania rozszerzonych śladów zdarzeń, zobacz Szybki start: zdarzenia rozszerzone.

    Aby uzyskać więcej informacji na temat filtrowania śledzenia SQL, zobacz Ustawianie filtru śledzenia (Transact-SQL) oraz Filtrowanie zdarzeń w śledzeniu (SQL Server Profiler).

  2. Monitorowanie (przechwytywanie) zdarzeń.

    Po włączeniu aktywne monitorowanie przechwytuje dane z określonej aplikacji, wystąpienia programu SQL Server lub systemu operacyjnego. Na przykład gdy aktywność dysku jest monitorowana przy użyciu monitora systemu, monitorowanie przechwytuje dane zdarzeń, takie jak odczyty i zapisy dysku, i wyświetla je na ekranie. Aby uzyskać więcej informacji, zobacz Monitorowanie użycia zasobów (Monitor wydajności).

  3. Zapisz przechwycone dane zdarzenia.

    Zapisanie przechwyconych danych zdarzeń umożliwia ich późniejsze analizowanie. Przechwycone dane zdarzenia zapisane w pliku, który można załadować z powrotem do narzędzia, które pierwotnie utworzyło je do analizy. Zapisywanie przechwyconych danych zdarzeń jest ważne podczas tworzenia punktu odniesienia wydajności. Dane punktu odniesienia wydajności są zapisywane i używane podczas porównywania ostatnio przechwyconych danych zdarzeń w celu określenia, czy wydajność jest optymalna.

    Zdarzenia rozszerzone umożliwiają zapisywanie danych zdarzeń w pliku zdarzenia, liczniku zdarzeń, histogramie i buforze pierścienia. Aby uzyskać więcej informacji, zobacz Targets for Extended Events.

    Dane zdarzeń śledzenia SQL można nawet odtworzyć przy użyciu Narzędzia Rozproszonego Odtwarzania lub Profilera programu SQL Server. Program SQL Server Profiler zezwala na zapisywanie danych zdarzeń w pliku lub tabeli programu SQL Server. Aby uzyskać więcej informacji, zobacz Szablony i uprawnienia profilera programu SQL Server.

  4. Utwórz szablony śledzenia zawierające określone ustawienia w celu przechwycenia zdarzeń.

    Szablony śledzenia zawierają specyfikacje dotyczące samych zdarzeń, danych zdarzeń i filtrów używanych do przechwytywania danych. Te szablony mogą służyć do monitorowania określonego zestawu zdarzeń później bez ponownego definiowania zdarzeń, danych zdarzeń i filtrów. Jeśli na przykład chcesz często monitorować liczbę zakleszczeń i użytkowników zaangażowanych w te zakleszczenia, możesz utworzyć szablon definiujący te zdarzenia, dane zdarzeń oraz filtry zdarzeń. Zapisz szablon i następnym razem, gdy chcesz monitorować zakleszczenia, ponownie zastosuj filtr.

    Definicja rozszerzonej sesji zdarzeń to szablon, który może być zapisany jako skrypt i ponownie używany. Aby utworzyć sesje i zarządzać nimi, zobacz Zarządzanie sesjami zdarzeń w Eksploratorze obiektów. Program Management Studio XEvent Profiler udostępnia już szablony, które są gotowe do użycia. Aby uzyskać więcej informacji, zobacz Use the SSMS XEvent Profiler.

    W tym celu program SQL Server Profiler używa szablonów śledzenia. Aby uzyskać więcej informacji, zobacz Ustaw domyślne ustawienia definicji śladu (SQL Server Profiler) i Utwórz szablon śladu (SQL Server Profiler).

    Napiwek

    Definicję śledzenia SQL można przekonwertować na sesję zdarzeń rozszerzonych. Aby uzyskać więcej informacji, zobacz Konwertowanie istniejącego skryptu śledzenia SQL na sesję zdarzeń rozszerzonych.

  5. Analizowanie przechwyconych danych zdarzenia.

    Do przeanalizowania przechwycone dane zdarzenia są ładowane do aplikacji, która przechwyciła dane.

    Na przykład przechwycony ślad zdarzenia rozszerzonego można ponownie załadować do programu SQL Server Management Studio w celu wyświetlania i analizy. Aby uzyskać więcej informacji, zobacz Wyświetlanie danych zdarzeń w programie SQL Server Management Studio.

    Dane śledzenia SQL można ponownie załadować do programu SQL Server Profiler na potrzeby przeglądania i analizy. Aby uzyskać więcej informacji, zobacz Przeglądanie i analizowanie śladów za pomocą programu SQL Server Profiler.

    Analizowanie danych zdarzeń obejmuje określenie, co się dzieje i dlaczego. Te informacje umożliwiają wprowadzanie zmian, które mogą poprawić wydajność, takie jak dodawanie większej ilości pamięci, zmienianie indeksów, rozwiązywanie problemów z kodowaniem za pomocą instrukcji Transact-SQL lub procedur składowanych itd., w zależności od typu wykonywanej analizy. Na przykład można użyć Doradcy do dostrajania aparatu bazy danych, aby przeanalizować zarejestrowany ślad z Zdarzeń rozszerzonych lub Profilera SQL Server i przedstawić zalecenia dotyczące indeksów na podstawie wyników.

  6. Powtórz przechwycone dane zdarzenia (opcjonalnie).

    Odtwarzanie zdarzeń umożliwia ustanowienie testowej kopii środowiska bazy danych, z którego dane zostały przechwycone, a następnie powtórz przechwycone zdarzenia, gdy wystąpiły pierwotnie w rzeczywistym systemie. Ta funkcja jest dostępna tylko za pomocą narzędzia rozproszonego odtwarzania lub profilera programu SQL Server. Zdarzenia można odtworzyć z taką samą szybkością, jak pierwotnie wystąpiły, jak najszybciej (aby przeciążyć system), lub bardziej prawdopodobne, jeden krok naraz (aby przeanalizować system po każdym zdarzeniu). Analizując dokładne zdarzenia w środowisku testowym, można zapobiec uszkodzeniu systemu produkcyjnego. Aby uzyskać więcej informacji, zobacz Replay Traces.