Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak uniknąć szkodliwego wpływu monitora aktywności na wydajność serwera SQL?

Nie ma wątpliwości, że monitorowanie wydajności wdrożenia SQL Server jest ważną częścią obowiązków związanych z konserwacją i rozwiązywaniem problemów przez administratora DBA.

Jednak zintegrowane narzędzie dostarczone przez firmę Microsoft, aby to osiągnąć, jednoznacznie znane jako Monitor aktywności, może w rzeczywistości być przyczyną spadków wydajności.

Oto, dlaczego tak się dzieje i co możesz zrobić, aby poradzić sobie z problemem Monitora Aktywności zakłócającym płynne działanie bazy danych SQL Server.

Podstawowy dylemat

Chociaż Monitor aktywności jest niewątpliwie przydatny w teorii, w praktyce może spowolnić czas reakcji serwera w niektórych sytuacjach.

Powodem tego jest to, że samo narzędzie jest trochę świnią zasobów, więc podczas działania będzie monopolizować cykle zegara procesora i część przydzielonej pamięci, która w przeciwnym razie mogłaby zostać wykorzystana do przetwarzania zapytań i obsługi innych transakcji.

To dodatkowe obciążenie sprowadza się do tego, że Monitor aktywności uruchamia 13 zapytań wielokrotnie w 10-sekundowej pętli, aby pulpit nawigacyjny był wypełniony statystykami potrzebnymi do śledzenia wydajności. W szczególności może to zagrozić takim elementom jak TempDB, chociaż jest również bardziej ogólnie odpowiedzialne za nieoptymalne działanie serwera, co jest sprzeczne z jego celem.

Najprostsze rozwiązanie

Prawdopodobnie najłatwiejszym sposobem obejścia tego problemu jest odejście od zintegrowanego Monitora aktywności i wyposażenie konfiguracji SQL Server w pakiet innej firmy, który może monitorować i diagnozować całą bazę danych.

Oprócz przezwyciężenia ograniczeń Monitora aktywności, zwrócenie się do lepiej zoptymalizowanych narzędzi szanowanych marek pozwoli również zautomatyzować wiele głównych procesów związanych z nadzorowaniem SQL Server.

W związku z tym administratorzy baz danych odkryją, że mają więcej czasu na inne zadania, a także mogą korzystać z takich rzeczy, jak alerty i powiadomienia, które zwracają ich uwagę na problemy wymagające rozwiązania.

Najlepsze narzędzia będą nawet w stanie pomóc w takich rzeczach, jak optymalizacja zapytań, monitorowanie bezpieczeństwa i wiele więcej.

Może wydawać się, że trudniej jest połączyć się z oddzielnym narzędziem do monitorowania, gdy SQL Server ma swoją własną funkcjonalność w tym obszarze, ale poprawa wydajności i potencjał optymalizacji obierania tej trasy z łatwością usprawiedliwią wszelkie początkowe kłopoty.

Inne zalety

Monitor aktywności nie spełnia oczekiwań, oprócz wykorzystania zasobów w SQL Server, w sposobie prezentowania danych administratorom baz danych.

Może to być odpowiednie, aby dać ci migawkę wydajności i aktywności serwera z chwili na chwilę, ale nie zawsze jest to szczególnie przydatne, jeśli masz nadzieję rozwiązać szersze zagadki związane z działaniem bazy danych.

Dodanie do miksu osobnego narzędzia do monitorowania umożliwi śledzenie wydajności w czasie, porównywanie danych historycznych z bieżącym stanem gry i wyciąganie wniosków z uzyskania pełniejszego obrazu.

Ostateczne przemyślenia

Jeśli byłeś sceptycznie nastawiony do korzyści płynących z posiadania samodzielnego rozwiązania do monitorowania dla SQL Server, miejmy nadzieję, że Twoje obawy zostały już rozwiązane.

Nie musisz całkowicie rezygnować z Monitora aktywności, ale sama wiedza o jego wadach pozwoli Ci skuteczniej z niego korzystać.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zaimplementowałbyś sekwencje w Microsoft SQL Server?

  2. Jak przestawić nieznaną liczbę kolumn i brak agregacji w SQL Server?

  3. Używanie SQL Server jako kolejki DB z wieloma klientami

  4. Obliczanie wartości przy użyciu poprzedniej wartości wiersza w T-SQL

  5. Jak używać usuwania kaskadowego w programie SQL Server?