Spis treści
Banner for article "SQL Server Monitoring Tools: What to Track and How to Choose", bearing article title, TSplus Server Monitoring logo and website, TSplus tagline and an illustration (stack of servers).

Narzędzia do monitorowania SQL Server mogą śledzić wszystko, od aktywności CPU i dysku w systemie Windows po blokowanie, statystyki oczekiwania, plany zapytań i dostępność bazy danych. Odpowiednie narzędzie zależy zatem od warstwy SQL Server, którą rzeczywiście musisz obserwować, a nie od rozmiaru listy funkcji.

Ten przewodnik przedstawia, co zespoły IT powinny monitorować, gdzie kończy się monitorowanie serwera Windows, a zaczyna monitorowanie specyficzne dla SQL, jakie wbudowane narzędzia Microsoft są dostępne oraz jak wybrać odpowiednie podejście do monitorowania.

Co sprawia, że monitorowanie SQL Server jest wyjątkowe?

Monitoring serwerów, podstawy:

Microsoft SQL Server działa na infrastrukturze serwerowej, więc wydajność systemu operacyjnego ma znaczenie Wysokie wykorzystanie CPU, presja pamięci lub wolne przechowywanie mogą wpływać na SQL Server, nawet gdy z silnikiem bazy danych nie ma nic zasadniczo nie tak.

Monitorowanie specyficznych potrzeb bazy danych dla serwerów SQL:

Jednak wyraźne metryki serwera Windows niekoniecznie oznaczają dobrą wydajność serwera SQL. Użytkownicy mogą doświadczać wolnych transakcji z powodu blokowania, słabych planów wykonania lub oczekiwania na zapytania, podczas gdy maszyna bazowa nadal wydaje się zdrowa.

Jak Microsoft dzieli to:

Microsoft odzwierciedla tę różnicę w swojej własnej architekturze monitorowania. Narzędzia systemu Windows, takie jak Monitor wydajności, obejmują zasoby systemowe, podczas gdy SQL Server oferuje funkcje specyficzne dla baz danych, w tym Query Store, Extended Events, Monitor aktywności, dzienniki błędów oraz możliwości monitorowania Transact-SQL.

Monitorowanie SQL Servera powinno zatem obejmować kilka uzupełniających się warstw, a nie jeden zestaw wskaźników.

Co powinny śledzić narzędzia do monitorowania SQL Server?

Dokładne metryki potrzebne zależą od tego, czy zespoły IT są odpowiedzialne głównie za dostępność infrastruktury, administrację bazą danych czy wydajność aplikacji. Przydatna strategia monitorowania zaczyna się szeroko i dodaje głębszą widoczność SQL Server tam, gdzie wymaga tego obciążenie.

1. Stan serwera i infrastruktury

Zacznij od zasobów dostępnych dla hosta SQL Server. CPU, pamięć fizyczna, pojemność dysku, aktywność odczytu i zapisu na dysku, wykorzystanie sieci oraz uruchomione procesy dostarczają kontekstu infrastrukturalnego dla wydajności bazy danych.

Ważnym punktem jest korelacja. Wysokie czasy odpowiedzi SQL, którym towarzyszy opóźnienie w przechowywaniu, sugerują inne dochodzenie niż wolne zapytania występujące, gdy host ma wystarczającą moc CPU, pamięci i pojemności I/O.

Monitorowanie hosta pomaga również wykrywać problemy, które wpływają na więcej niż tylko SQL Server. Fizyczny lub wirtualny serwer może hostować aplikacje wspierające, usługi lub zdalnych użytkowników, których aktywność konkuruje o te same zasoby.

2. Stan instancji i bazy danych SQL Server

Następna warstwa zagląda do samego silnika bazy danych.

Ważne obszary zazwyczaj obejmują oczekiwania, aktywne sesje, blokady, martwe blokady, wzrost plików bazy danych, wykorzystanie dziennika transakcji oraz aktywność TempDB. Administratorzy mogą również musieć monitorować stan bazy danych, połączenia, zachowanie pamięci oraz usługi SQL Server.

Statystyki oczekiwania są szczególnie przydatne, ponieważ pomagają zidentyfikować, na jakie zadania SQL Server czeka, zamiast pokazywać tylko, że system jest wolny. Blokowanie i zakleszczenia zapewniają dodatkową widoczność, pomagając zidentyfikować, czy konkretne transakcje konkurują o zasoby.

Dedykowane platformy monitorowania baz danych idą znacznie głębiej niż monitory hostów. Na przykład, IDERA SQL Diagnostic Manager dokumentuje monitorowanie oczekiwań, blokujących łańcuchów, zakleszczeń, ciśnienia TempDB, opóźnienia I/O i wzrostu bazy danych.

3. Wydajność zapytań i obciążenia

Gdy problem został zlokalizowany do obciążenia bazy danych, zebrane metryki serwera są często niewystarczające. Administratorzy muszą ustalić, które zapytania zużywają nadmierne zasoby i czy ich zachowanie uległo zmianie.

Przydatne informacje na poziomie zapytania mogą obejmować czas wykonania, zużycie CPU, odczyty logiczne i fizyczne, zużycie pamięci, częstotliwość wykonania, oczekiwania i plany wykonania.

Microsoft Query Store jest dobrym przykładem oprogramowania dostosowanego do tego. Zachowuje zapytania, plany i statystyki czasu wykonywania, dzięki czemu administratorzy mogą analizować wydajność w czasie i identyfikować regresje związane ze zmianami planu zapytania. SQL Server 2017 i nowsze mogą rejestrować statystyki oczekiwania za pomocą Query Store.

Ten kontekst historyczny ma znaczenie, ponieważ wiele problemów z SQL Server jest przerywanych. Wiedza o tym, że CPU osiągnęło 90% wczoraj po południu, jest przydatna. Wiedza o tym, które zapytania zmieniły zachowanie w tym samym momencie, identyfikuje potencjalne dźwignie do działania.

4. Dostępność, Praca i Zdrowie Operacyjne

Wydajność to tylko jeden aspekt monitorowania SQL Server. Awaria operacyjna może wpłynąć na dostępność i możliwość odzyskiwania, nawet gdy wydajność obciążenia wydaje się normalna.

W zależności od środowiska, administratorzy mogą potrzebować wglądu w zadania agenta SQL Server, kopie zapasowe, dostępność bazy danych oraz grupy dostępności Always On. Większe lub krytyczne dla biznesu zasoby mogą również wymagać monitorowania replikacji, śledzenia konfiguracji i prognozowania pojemności.

Wymagana głębokość musi odpowiadać znaczeniu obciążenia. Mała wewnętrzna baza danych lub klastrowa produkcyjna infrastruktura SQL Server wymagają bardzo różnych architektur monitorowania.

Jakie wbudowane narzędzia monitorowania SQL Server możesz wykorzystać?

Zanim dokonasz zakupu dedykowanej platformy, warto zrozumieć, co Microsoft SQL Server już zapewnia.

Szeroki zestaw natywnych narzędzi:

  • Monitor aktywności wspiera inspekcję ad hoc
  • Query Store przechowuje historyczne informacje o zapytaniach i planach.
  • Rozszerzone zdarzenia rejestrują wybrane zdarzenia silnika
  • Dynamic Management Views ujawniają wewnętrzne dane dotyczące wydajności
  • Dzienniki błędów SQL Server pomagają w badaniu zdarzeń silnika bazy danych.
  • Monitor wydajności systemu Windows dodaje informacje o zasobach systemu operacyjnego.

Głębsza diagnostyka, ale większa złożoność:

Te narzędzia mogą zapewnić znaczną głębokość diagnostyczną, szczególnie dla doświadczonych administratorów baz danych. Unikają również wprowadzania kolejnego platforma monitorowania gdy okazjonalne rozwiązywanie problemów jest wystarczające.

Ich ograniczeniem często nie jest dostęp do danych, ale wygoda operacyjna. Zespół IT zarządzający wieloma serwerami może chcieć centralnych pulpitów nawigacyjnych, trwałych historii, łatwiejszego powiadamiania i szybszej korelacji zamiast zbierania informacji z kilku interfejsów SQL Server i Windows.

To jest miejsce, w którym monitorowanie przez osoby trzecie staje się bardziej przekonujące.

Jak wybrać narzędzia do monitorowania SQL Server?

Zacznij od problemu, który narzędzie ma rozwiązać. To powinno uchronić cię przed utratą celu w liście kontrolnej największej liczby obsługiwanych metryk.

1. Konieczna głębokość widoczności

Przydatne pierwsze pytanie to, czy potrzebujesz monitorowania infrastruktury, diagnostyki silnika bazy danych czy szczegółowej analizy zapytań.

Wymaganie Podejście do monitorowania
CPU, pamięć, dysk i dostępność serwera Monitorowanie serwera lub infrastruktury
Okazjonalne rozwiązywanie problemów z SQL Server Wbudowane narzędzia Microsoft SQL Server
Blokowanie, oczekiwania, zakleszczenia i alerty bazy danych Dedykowane monitorowanie serwera SQL
Plany zapytań i regresje wydajności Zapytanie Store lub zaawansowane monitorowanie SQL
Duża wieloinstancyjna baza danych SQL Centralne monitorowanie bazy danych
SQL Server plus szersze zależności aplikacji Infrastruktura lub pełna obserwowalność stosu połączona z monitorowaniem specyficznym dla SQL

Te kategorie mogą się pokrywać. W wielu środowiskach najbardziej praktycznym podejściem jest połączenie, a nie pojedynczy produkt.

2. Dopasowanie alertów i historii z operacjami

Monitoring staje się najbardziej przydatne, gdy podkreśla nienormalne zachowanie, zanim użytkownicy zgłoszą problem.

Zobacz, czy narzędzie obsługuje alerty progowe, trendy historyczne i wystarczający kontekst do zbadania zdarzenia później. Specjalistyczne platformy SQL mogą pójść dalej, dołączając łańcuchy blokujące, grafy zakleszczeń lub informacje o zapytaniach bezpośrednio do alertu. Redgate Monitor, na przykład, dokumentuje alerty specyficzne dla SQL dla zdarzeń, w tym zakleszczeń, nieudanych zadań, zablokowanych zapytań i zapytań o długim czasie wykonywania.

Ustalanie podstawowych wartości jest również ważne. Wartość, która jest nienormalna dla jednej bazy danych, może być rutynowa dla innej, więc powiadomienia powinny odzwierciedlać zachowanie i znaczenie biznesowe poszczególnych obciążeń.

3. Weź pod uwagę skalę, wdrożenie i administrację

Narzędzie odpowiednie dla jednej instancji SQL Server może stać się uciążliwe w przypadku dziesiątek serwerów.

Rozważ, ile hostów, instancji i baz danych wymaga monitorowania, jak zbierane i przechowywane są dane monitorowania oraz jak łatwo administratorzy mogą porównywać systemy z centralnej konsoli. W związku z tym należy ocenić licencjonowanie, wysiłek wdrożeniowy, generowanie raportów i zarządzanie alertami obok głębokości technicznej.

Celem nie jest zbieranie każdej możliwej metryki. Chodzi o zebranie najbardziej istotnych informacji w wystarczającej ilości, aby zidentyfikować nienormalne zachowanie i skrócić drogę od objawu do przyczyny, aby Twoi technicy IT mogli naprawić problem.

Gdzie pasuje TSplus Server Monitoring?

TSplus Server Monitoring zajmuje się stroną infrastrukturalną tego modelu monitorowania. Zapewnia widoczność w czasie rzeczywistym w aktywność CPU, pamięci, odczytu i zapisu na dysku, przepustowości, procesów i podłączonych użytkowników, wraz z raportami historycznymi i konfigurowalnymi alertami dla metryk serwera.

Dla serwera Windows działającego na Microsoft SQL Server, ta widoczność pomoże określić, czy problem z wydajnością bazy danych pokrywa się z obciążeniem CPU, zużyciem pamięci, aktywnością dysku lub innym warunkiem na poziomie hosta. Raportowanie historyczne dostarcza również kontekstu dla powtarzających się problemów z infrastrukturą.

TSplus Server Monitoring nie jest jednak dedykowanym analizatorem wydajności bazy danych SQL Server. Wymagania specyficzne dla SQL, takie jak analiza planu wykonania, badanie Query Store, łańcuchy blokowania, analiza zakleszczeń czy szczegółowe statystyki oczekiwania, wymagają narzędzi SQL Server firmy Microsoft lub specjalistycznego produktu do monitorowania baz danych.

Dla wielu zespołów IT te warstwy uzupełniają się nawzajem. TSplus Monitorowanie Serwera może zapewnić prosty widok stanu serwera i zużycia zasobów, podczas gdy natywne narzędzia SQL Server dostarczają głębszej widoczności bazy danych i pomagają zidentyfikować, kiedy incydent wskazuje na silnik bazy danych lub pojedyncze obciążenie.

Wniosek

Wybór narzędzi do monitorowania SQL Server zaczyna się od decyzji, co wymaga widoczności. Zasoby serwera, stan silnika bazy danych i wydajność zapytań reprezentują różne warstwy tego samego systemu, a żaden pojedynczy wskaźnik nie wyjaśnia ich wszystkich.

Zacznij od zdrowia infrastruktury, a następnie dodaj monitorowanie specyficzne dla SQL wszędzie tam, gdzie obciążenie wymaga głębszej diagnozy. Takie warstwowe podejście utrzymuje monitorowanie w praktyce, jednocześnie dając zespołom IT wystarczający kontekst do odróżnienia problemu z serwerem od problemu z bazą danych lub zapytaniem.

TSplus Darmowy okres próbny dostępu zdalnego

Ostateczna alternatywa dla Citrix/RDS w zakresie dostępu do pulpitu/aplikacji. Bezpieczne, opłacalne, lokalne/chmurowe

Niektóre często zadawane pytania

Co to jest narzędzie do monitorowania SQL Server?

Narzędzie do monitorowania SQL Server śledzi stan, wydajność lub dostępność środowisk Microsoft SQL Server. W zależności od zakresu może monitorować zasoby hosta, bazy danych, oczekiwania, blokady, zapytania, zadania, kopie zapasowe lub konfiguracje dostępności.

Jakie metryki SQL Server powinienem monitorować?

Metryki rdzeniowe zależą od obciążenia i zazwyczaj obejmują CPU, pamięć i przechowywanie. Obok tego, wskaźniki specyficzne dla SQL wskazują na takie elementy jak oczekiwania, blokady, martwe punkty, wzrost bazy danych, dzienniki transakcji, aktywność TempDB, czas trwania zapytań i status zadań.

Czy monitorowanie serwera Windows może wykrywać problemy z serwerem SQL?

Monitorowanie serwera Windows może zidentyfikować problemy z infrastrukturą wpływające na SQL Server, w tym obciążenie CPU, pamięci i dysku. Samodzielnie nie może wyjaśnić problemów z silnikiem bazy danych, takich jak regresje planu zapytań, łańcuchy blokowania czy oczekiwania specyficzne dla SQL.

Czy SQL Server zawiera własne narzędzia do monitorowania?

Tak. Microsoft SQL Server zawiera narzędzia i funkcje takie jak Query Store, Extended Events, Activity Monitor, Dynamic Management Views, dzienniki błędów oraz funkcje wydajności Transact-SQL. Ich przydatność zależy od badania zdarzenia lub obciążenia.

Czy potrzebuję dedykowanego oprogramowania do monitorowania SQL Server?

Nie koniecznie. Wbudowane narzędzia mogą być wystarczające dla małych środowisk lub okazjonalnego rozwiązywania problemów. W połączeniu z TSplus Monitorowanie Serwera do ogólnych celów, wbudowany monitor SQL Servera firmy Microsoft ma niewiele do zazdroszczenia produktom monitorującym innych firm. Dedykowane monitorowanie staje się bardziej przydatne, gdy zespoły potrzebują scentralizowanej widoczności, ciągłych powiadomień, długoterminowej historii lub szybszej diagnozy w wielu instancjach SQL Server.

Dalsza lektura

back to top of the page icon