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

Monitoruj bazę danych SQL przez SP_WhoIsActive lub FogLight | Rozwiązywanie problemów z wydajnością serwera SQL -1

Biodro>

W tej serii artykułów wyjaśnię, jak rozwiązywać problemy z wydajnością SQL Server.

Rozwiązywanie problemów z wydajnością serwera SQL

Oczekuje się, że rozwiąże problemy z wydajnością przez DBA (Administratora Bazy Danych), gdy skargi na wydajność w bazie danych SQL Server zaczną się nasilać. Zanim będziesz mógł rozwiązać problem z wydajnością, musisz ustalić, na czym polega problem i dlaczego się pojawia.

Monitoruj bazę danych SQL Server przez SP_WhoIsActive

W celu zidentyfikowania problemu należy wykonać co najmniej jedno z poniższych działań.

  1. Baza danych monitorowania za pośrednictwem oprogramowania SP_WhoIsActive lub FogLight itp.
  2. Monitoruj bazę danych i instancje za pomocą Monitora aktywności
  3. Monitorowanie liczników wydajności przez PERFMON i badanie stanu obciążenia
  4. Przejrzyj plik dziennika błędów serwera SQL
  5. Użyj DMV (dynamiczny widok zarządzania) i DMF (funkcja dynamicznego zarządzania) do szczegółowej analizy bazy danych
  6. Badanie działań w czasie rzeczywistym w bazie danych za pomocą programu SQL Server Profiler
  7. Przejrzyj szczegółowo bazę danych i raportowanie za pomocą narzędzia SQLDIAG i RML Utilities
  8. Rozwiązywanie problemów z wydajnością

Baza danych monitorowania przez FogLight

DBA (Administrator bazy danych) powinien stale monitorować bazę danych w czasie rzeczywistym. Monitorowanie bazy danych w czasie rzeczywistym jest możliwe za pomocą oprogramowania do monitorowania w czasie rzeczywistym, takiego jak FogLight lub procedur przechowywanych, takich jak SP_WhoIsActive.

Foglight zapewnia graficzny interfejs użytkownika oraz przydatne monitorowanie i alerty w czasie rzeczywistym. Ale to nie jest darmowe i jeśli myślisz o swojej firmie i masz wiele krytycznych baz danych, sugeruję, abyś mógł używać tego oprogramowania do monitorowania bazy danych w czasie rzeczywistym.

Ale jeśli nie ma na to budżetu, a Twoja firma nie jest duża. Nie używaj go, ponieważ jest bardzo drogi.

Zalecam utworzenie SP_WhoIsActive i monitorowanie bazy danych za pomocą tej procedury przechowywanej. Procedura składowana SP_WhoIsActive, napisana przez mechanika Adama, jest dostępna bezpłatnie i dostarcza informacji o bieżących sesjach sesji i zapytaniach SQL. Po ręcznym utworzeniu SP_WhoIsActive w bazie danych możesz go uruchomić w następujący sposób.

Możesz przejrzeć następujące krytyczne i ważne funkcje dowolnej sesji za pośrednictwem SP_WhoIsActive.

  • Tekst SQL
  • Czekaj na informacje
  • Stan sesji blokowania
  • Wykorzystanie procesora
  • Alokacja TempDB
  • Czas trwania sesji i czas logowania
  • Nazwa logowania i nazwa komputera
  • Procent ukończenia
  • Stan

Możesz pobrać najnowszą wersję SP_WhoIsActive, korzystając z tego linku.

Pobierz SP_WhoIsActive i skopiuj i wklej te SP do SSMS (SQL Server Management Studio), a następnie uruchom i utwórz SP_WhoIsActive, a następnie możesz z niego korzystać.

Przejrzyj plik dziennika błędów serwera SQL

Błędy występujące w wystąpieniach programu SQL Server można znaleźć, przeglądając dzienniki błędów. Możesz zobaczyć dzienniki błędów z bazy danych w następujący sposób.

Jeśli nie możesz uzyskać dostępu do Instancji , możesz znaleźć pliki Errorlog w domyślnej ścieżce poniżej.

C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Log

W następnym artykule wyjaśnię rozwiązywanie problemów z wydajnością serwera SQL.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Unikalny złożony klucz składający się z dwóch pól w programie SQL Server z automatycznym przyrostem drugiego pola

  2. Dodaj domyślną wartość pola datetime w SQL Server do znacznika czasu

  3. jak skonfigurować plik konfiguracyjny hibernacji dla serwera sql?

  4. Błąd JDBC programu SQL Server w języku Java 8:sterownik nie może nawiązać bezpiecznego połączenia z programem SQL Server przy użyciu szyfrowania Secure Sockets Layer (SSL)

  5. Jak skopiować dane z ogromnej tabeli do innej tabeli w SQL Server