Narzędzia do rozwiązywania problemów i diagnostyki dla scenariuszy lokalnych i hybrydowych programu SQL Server

Dotyczy: SQL Server

Podsumowanie

Obsługa produktów firmy Microsoft dla hybrydowego programu SQL Server używa narzędzi do rozwiązywania problemów, aby ułatwić klientom zbieranie dzienników i zawężenie problemów technicznych. Te narzędzia są dostępne publicznie. W tym artykule przedstawiono podsumowanie narzędzi diagnostycznych, z których korzystali inżynierowie pomocy technicznej programu SQL Server. W tym artykule opisano różne scenariusze rozwiązywania problemów i przedstawiono odpowiednie narzędzia do zbierania dzienników i analizy dzienników.

Narzędzia diagnostyczne dla programu SQL Server

Scenariusz Podstawowe dzienniki do zebrania Narzędzia do zbierania dzienników Narzędzia do analizowania dzienników
Grupa dostępności - Dzienniki klastra
- Dzienniki zdarzeń
— Monitor systemu (dzienniki monitora wydajności)
— Dzienniki błędów programu SQL Server
- Pliki SQLDIAG XEL
- Pliki XEL sesji AlwaysOn Health
- Pliki sesji zdrowia systemu XEL
- Zdarzenia rozszerzone na potrzeby przenoszenia danych grupy dostępności
- Migawki widoków DMV i katalogu dla AG
Windows:
- Preferowane: SQL LogScout
Użyj scenariusza "AlwaysOn".

- Alternatywa: TSSv2
Użyj scenariusza "SQL Base".

- Alternatywa: PSSDIAG
Użyj niestandardowej diagnostyki "Always On Basic Info".

Linux:
- SQL LogScout Linux
Użyj "scenario_static.scn".
- Preferowane: AGDiag
Scenariusze do użycia: Analizowanie trybu failover i awarii.

- Alternatywa: SQL Nexus
Scenariusze do użycia: wydajność, opóźnienie, kondycja i najlepsze rozwiązania.
Niska wydajność
- Śledzenie zdarzenia rozszerzonego (XEvent) przechwytuje zdarzenia początkowe/ukończone na poziomie wsadowym, błędy i ostrzeżenia, rozrost/kurczenie się dziennika, eskalacja blokady i przekroczenie limitu czasu, zakleszczenie, logowanie/wylogowanie
- Lista aktywnie uruchomionych śladów SQL i Xevents
— Migawki dynamicznych widoków zarządzania SQL, które śledzą oczekiwania/blokowanie i zapytania obciążające CPU
— Wykonywanie zapytań o informacje o magazynie danych (jeśli jest aktywne)
- tempdb informacje o zawartości z widoków DMV/systemowych SQL
— Metadane serwera połączonego (widoki DMV SQL/widoki systemowe)
— Informacje o konfiguracji usługi Service Broker (widoki DMV SQL/widoki systemowe)
Windows:
- Preferowane: SQL LogScout
Użyj scenariuszy "GeneralPerf", "DetailedPerf" lub "LightPerf".


- Alternatywa: PSSDIAG
Użyj scenariuszy "Ogólna wydajność", "Szczegółowa wydajność" lub "Lekka wydajność".

Linux:
- SQL LogScout Linux
Użyj "scenario_sql_perf_general.scn", "scenario_sql_perf_detailed.scn" lub "scenario_sql_perf_lite.scn".
- Preferowane: SQL Nexus
Scenariusze do użycia: analiza wydajności, zalecenia dotyczące najlepszych rozwiązań, analiza wąskich gardeł, blokowanie i najważniejsze zapytania.

- Alternatywa: Pakiet narzędzi RML
Scenariusze do użycia: analiza zapytań w celu zrozumienia zapytań zużywających najwięcej zasobów.
Połączenie - Ślad BID/Ślady sterownika
- Śledzenie sieci
- Śledzenie autoryzacji
— Dzienniki błędów programu SQL Server
- Dzienniki zdarzeń systemu Windows
Podglądy NETSTAT i TASKLIST
Windows:
- Preferowane: SQL Trace
Skonfiguruj ustawienia kolekcji w pliku INI.

— Alternatywa: SQL LogScout
Użyj scenariusza "NetworkTrace".

— Alternatywa: SSPICLIENT
Użyj tego narzędzia podczas napotykania błędów SSPI lub Kerberos i rejestrowania szczegółowego śledzenia na potrzeby analizy.

Linux:
- SQL LogScout Linux
Użyj "scenario_static.scn".
- logger.ini (dodaj [Logger:security.kerberos] i [Logger:security.ldap] sekcje).
- tcpdump (przechwytywanie pakietów sieciowych systemu Linux).
- Preferowane: interfejs użytkownika analizatora sieci SQL
Analizator sieci SQL
Scenariusze do użycia: Odczytywanie plików przechwytywania pakietów sieciowych i generowanie raportu z wyróżnionymi potencjalnymi obszarami zainteresowania.

— Alternatywa: SQLCHECK
Raporty dotyczące wszystkich ustawień, które mogą mieć wpływ na łączność.

— Alternatywa: SQLBENCH
Wyświetlanie chronometrażu na potrzeby analizy porównawczej.

— Alternatywa: DBTEST
Zarejestruj czas nawiązywania połączenia i czas wykonywania polecenia.
Replikacja — Dzienniki błędów programu SQL Server
- Replikacja, CDC, informacje diagnostyczne CT (DMV/widoki systemu SQL)
Windows:
- Preferowane: SQL LogScout
Korzystanie ze scenariusza zbierania danych
"Replikacja".


- Alternatywa: PSSDIAG
Użyj niestandardowej diagnostyki 'Replikacja'.

Linux:
- SQL LogScout Linux
Użyj "scenario_static.scn".
- Preferowane: SQL Nexus
Scenariusze do użycia: raporty replikacji, analiza wydajności, zalecenia dotyczące najlepszych rozwiązań, analiza wąskich gardeł, blokowanie i najważniejsze zapytania.
Instalacja/konfiguracja - Setup Bootstrap folder with all the setup logs (Konfigurowanie folderu Bootstrap ze wszystkimi dziennikami instalacji) - Preferowane: SQL LogScout
Użyj scenariusza zbierania danych "Konfiguracja".
Tworzenie/przywracanie kopii zapasowych — Postęp tworzenia/przywracania kopii zapasowej Xevent (backup_restore_progress_trace)
— Flagi śledzenia postępu przywracania kopii zapasowej
— Dziennik zapisywania usługi SQL VSS (w programie SQL Server 2019 i nowszych wersjach)
— Dzienniki administratora usługi VSS (OS) dla scenariuszy związanych z tworzeniem kopii zapasowych usługi VSS
- monitor wydajności
Windows:
- Preferowane: SQL LogScout
Użyj scenariusza zbierania danych "BackupRestore".

Linux:
- SQL LogScout Linux
Użyj "scenario_static.scn".
Użycie pamięci - Kleryki pamięci DMV lub DBCC MEMORYSTATUS
- monitor wydajności
Windows:
- Preferowane: SQL LogScout
Użyj scenariusza zbierania danych "Pamięć".

Linux:
- SQL LogScout Linux
Użyj "scenario_sql_perf_general.scn."
- Preferowane: SQL Nexus
Scenariusze do użycia: importowanie danych wyjściowych pamięci i wyświetlanie ich w usłudze Memory Brokers.
Zrzuty pamięci - Ręczne zrzuty pamięci przechwycone dla konkretnych scenariuszy t-fotografowania
— Automatycznie generowane zrzuty pamięci dla scenariuszy wyjątków
Windows:
- Preferowane: SQL LogScout
Użyj scenariusza zbierania danych "DumpMemory".

— Alternatywa: SQLDumper

- Alternatywa: TSS V2
Użyj scenariusza "SQL Base", aby zebrać istniejące zrzuty pamięci.

Linux:
- SQL LogScout Linux
Użyj "scenario_static.scn".
- Preferowane: WinDbg (narzędzia debugowania dla Windows)
Scenariusze do użycia: ładowanie i analizowanie zrzutu pamięci.

— Alternatywa: Program rozpoznawania stosu wywołań SQL
Uszkodzenie bazy danych - DBCC CHECKDB
Symulacja obciążenia wzorca we/wy SQL Windows:
- Sqliosim

Linux:
- SQLIOSim dla systemu Linux