sql >> Databáze >  >> RDS >> Sqlserver

Monitorování SQL databáze přes SP_WhoIsActive nebo FogLight | Řešení problémů s výkonem serveru SQL -1

Ahoj,

V této sérii článků vysvětlím, jak řešit problémy s výkonem serveru SQL.

Odstraňování problémů s výkonem serveru SQL Server

Očekává se , že vyřeší problémy s výkonem ze strany DBA ( správce databáze ) , když začnou narůstat stížnosti na výkon v databázi SQL Server . Než budete moci vyřešit problém s výkonem, musíte určit, o jaký problém jde a proč k němu dochází.

Monitorování databáze SQL Server prostřednictvím SP_WhoIsActive

K identifikaci problému by měla být použita jedna nebo více z následujících akcí.

  1. Monitorujte databázi prostřednictvím softwaru třetích stran SP_WhoIsActive nebo FogLight atd.
  2. Monitorování databáze a instancí pomocí nástroje Sledování aktivity
  3. Sledování počítadel výkonu prostřednictvím PERFMON a zkoumání stavu zatížení
  4. Zkontrolujte soubor SQL Server Errorlog
  5. Pomocí DMV (dynamické zobrazení správy) a DMF (funkce dynamické správy) podrobně analyzujte databázi
  6. Zkoumejte aktivity v reálném čase v databázi pomocí SQL Server Profiler
  7. Podrobnou kontrolu databáze a vytváření sestav pomocí nástroje SQLDIAG a RML Utilities
  8. Odstraňování problémů s výkonem

Monitorování databáze pomocí FogLight

DBA ( Database Administrator ) by měl provádět monitorování databáze v reálném čase po celou dobu. Monitorování databáze v reálném čase je možné pomocí softwaru pro monitorování v reálném čase, jako je FogLight, nebo uložených procedur, jako je SP_WhoIsActive.

Foglight poskytuje GUI a některé užitečné monitorování a upozornění v reálném čase. Ale není to zadarmo a pokud přemýšlíte o své společnosti a máte spoustu kritických databází, doporučuji vám, abyste tento software mohli použít ke sledování databáze v reálném čase.

Ale pokud na to není rozpočet a vaše společnost není velká. Nepoužívejte jej, protože je velmi drahý.

Doporučuji vám vytvořit SP_WhoIsActive a sledovat databázi prostřednictvím této uložené procedury. Uložená procedura SP_WhoIsActive, kterou napsal mechanik Adam, je k dispozici zdarma a poskytuje informace o aktuálních relacích a SQL. Po ručním vytvoření SP_WhoIsActive v databázi jej můžete spustit následovně.

Následující kritické a důležité funkce jakékoli relace si můžete prohlédnout prostřednictvím SP_WhoIsActive.

  • Text SQL
  • Informace o čekání
  • Stav blokování relace
  • Využití CPU
  • Přidělení TempDB
  • Trvání relace a čas přihlášení
  • Přihlašovací jméno a název počítače
  • Dokončeno v procentech
  • Stav

Nejnovější SP_WhoIsActive si můžete stáhnout pomocí tohoto odkazu.

Stáhněte si SP_WhoIsActive a zkopírujte a vložte tyto SP do SSMS ( SQL Server Management Studio ) a spusťte a vytvořte SP_WhoIsActive, pak jej můžete používat.

Zkontrolujte soubor SQL Server Errorlog

Chyby, ke kterým dochází v instancích serveru SQL Server, lze nalézt prozkoumáním protokolů chyb. Protokoly chyb z databáze můžete vidět následovně.

Pokud nemáte přístup k Instance , můžete najít soubory Errorlog ve výchozí cestě níže.

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

V dalším článku budu pokračovat ve vysvětlování potíží s výkonem serveru SQL Server.


  1. Entita Oracle v rámci entity VS neaktualizuje primární klíč v kódu

  2. Jak vytvořím cizí klíč v SQL Server?

  3. Mohu zapnout ignore_dup_key pro primární klíč?

  4. Zjistěte, zda je omezení CHECK na úrovni sloupce nebo na úrovni tabulky v SQL Server (příklady T-SQL)