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