1. Úvod do SQL Server Performance Monitor
1.1 Co je SQL Server Monitor výkonu?
SQL Server Monitor výkonu je proces sledování, analýzy a správy výkonu a stavu vašeho SQL Server databáze. Zahrnuje shromažďování a interpretaci dat o různých aspektech vašeho databázového systému s cílem zajistit optimální výkon, předcházet problémům a udržovat stav databáze.
Monitorování výkonu zahrnuje sledování doby provádění dotazů, využití zdrojů, výkonu indexů, blokování a zablokování a vzorců růstu databáze. Tento nepřetržitý dohled pomáhá správcům identifikovat potenciální problémy dříve, než ovlivní uživatele nebo obchodní operace.
1.2 Klíčové výhody monitorování výkonu
Efektivní SQL Server Monitor výkonu nabízí několik klíčových výhod:
- Proaktivní detekce problémů: Identifikujte a řešte potenciální problémy dříve, než ovlivní uživatele nebo obchodní operace
- Optimalizace výkonu: Identifikujte úzká hrdla a neefektivitu pro zlepšení celkového výkonu databáze
- Plánovaní kapacity: Předvídejte potřeby zdrojů a plánujte budoucí růst na základě historických dat
- Soulad a zabezpečení: Zajistit dodržování regulačních požadavků a odhalovat podezřelé aktivity
1.3 Běžné problémy s výkonem
Bez řádného monitoru výkonu databáze SQL čelí organizace několika rizikům:
- Neočekávané výpadky, které narušují provoz firmy
- Špatný výkon aplikace ovlivňující uživatelský zážitek
- Ztráta nebo poškození dat
- Neefektivní využívání zdrojů vede k zbytečným nákladům
- Frustrovaní uživatelé a potenciální ztráta příjmů
Podle studie společnosti IDC z roku 2023 pramení 65 % problémů s výkonem databází ze špatných postupů monitorování nebo optimalizace.
2. Principy Sledování výkonu systému Windows (PerfMon)
2.1 Co je Sledování výkonu systému Windows?
Sledování výkonu systému Windows (PerfMon) je vestavěný nástroj systému Windows, který monitoruje systémové prostředky a výkon aplikací. SQL Server PerfMon poskytuje administrátorům neocenitelné informace o operačním systému i SQL Server metriky, což je nezbytné pro komplexní analýzu výkonnosti.
PerfMon měří statistiky výkonu v pravidelných intervalech a ukládá je do souborů pro pozdější analýzu. Správci databází si mohou vybrat časový interval, formát souboru a statistiky, které chtějí sledovat. Nástroj není SQL Server-specifický – systémoví administrátoři jej používají k monitorování samotného systému Windows, Exchange, souborových serverů a jakékoli aplikace, která může mít úzká hrdla.
2.2 Spuštění Monitoru výkonu
Sledování výkonu můžete spustit několika způsoby:
- klikněte Home, typ perfmon Ve vyhledávacím poli klikněte ve výsledku vyhledávání na „Monitor výkonu“:
- Pro média Windows + R, typ perfmon, a stiskněte tlačítko vstoupit
- přejděte na řídicí panel -> Systém a zabezpečení -> Nástroje pro správu -> Performance Monitor
3. nezbytný SQL Server Čítače výkonu
3.1 Čítače výkonu paměti
Čítače paměti jsou pro monitorování klíčové SQL Server výkon, protože indikují, zda má vaše databáze dostatek paměťových prostředků.
Dostupné MB
Tento čítač ukazuje množství fyzické paměti, které je okamžitě k dispozici pro alokaci. Mělo by zůstat poměrně konstantní a ideálně by nemělo klesnout pod 4096 MB. Nízké hodnoty mohou naznačovat, že SQL ServerNastavení maximální paměti je ponecháno na výchozí hodnotě nebo neSQL Server aplikace spotřebovávají paměť.
Očekávaná délka života na stránce
Očekávaná životnost stránky (Page Life Expectancy) měří, jak dlouho (v sekundách) stránka zůstává ve vyrovnávací paměti, aniž by se na ni odkazovalo. Normální hodnota je 300 sekund nebo více. Nižší hodnoty naznačují zatížení paměti a nadměrnou obměnu vyrovnávací paměti, což snižuje efektivitu mezipaměti.
Poměr přístupů do mezipaměti vyrovnávací paměti
Tento čítač udává procento datových požadavků zodpovězených pomocí mezipaměti SQL bufferu (paměti) namísto čtení z disku. Obvykle dosahuje nebo překračuje 99 %. Nižší hodnoty naznačují, že SQL Server potřebuje více paměti nebo se po restartu stále zahřívá.
Čeká se na přidělení paměti
Toto ukazuje počet procesů čekajících na paměť v rámci SQL ServerZa normálních podmínek by tato hodnota měla být trvale 0. Vyšší hodnoty značí nedostatečnou alokaci paměti pro SQL Server.
Paměť cílového serveru vs. celková paměť serveru
Paměť cílového serveru udává ideální množství paměti. SQL Server chce použít. Celková paměť serveru ukazuje, co SQL Server aktuálně používá. Poměr mezi těmito hodnotami by měl být přibližně 1. Významné rozdíly mohou naznačovat zatížení paměti nebo nedostatek dostupné paměti.
3.2 Čítače výkonu procesoru
Čítače CPU pomáhají identifikovat úzká hrdla procesoru a pochopit, jak SQL Server využívá výpočetní prostředky.
% času procesoru
Toto měření měří procento uplynulého času, který procesor stráví prováděním nečinných vláken. Na aktivních serverech mohou hodnoty vyskočit až na 100 %, ale trvalé využití nad 70–75 % obvykle naznačuje problémy s výkonem pro uživatele. Chybějící nebo nedostatečné indexy často způsobují vysoké využití CPU.
% privilegovaného času
Procesorový čas se dělí na zpracování v uživatelském režimu a v privilegovaném (jádrovém) režimu. Veškerý přístup k disku a I/O operace probíhají v jádrovém režimu. Pokud tento čítač překročí 25 %, systém pravděpodobně provádí příliš mnoho I/O operací. Normální hodnoty se pohybují mezi 5 % a 10 %.
Délka fronty procesoru
Tento čítač zobrazuje vlákna čekající na prostředky CPU. Hodnoty jsou trvale nad 1 (s výjimkou SQL Server komprese záloh) indikují zatížení CPU. To často znamená, že na SQL Server stroj, což porušuje osvědčené postupy.
Přepínání kontextu/s
Toto měří, jak často procesor přepíná mezi vlákny. Nadměrné přepínání kontextu může ovlivnit výkon a indikuje vysoké zatížení systému.
3.3 Čítače výkonu diskového I/O
Čítače disku jsou nezbytné pro monitorování výkonu SQL, protože diskové I/O operace se často stávají hlavním úzkým hrdlem v databázových systémech.
% času na disku
Toto zaznamenává procento času, kdy byl disk zaneprázdněn operacemi čtení/zápisu. Hodnoty trvale nad 85 % naznačují úzké hrdlo I/O. Protože disk je mnohem pomalejší než paměť, snížení této metriky zlepšuje výkon.
Průměrný objem disku (s/čtení) a průměrný objem disku (s/zápis)
Tyto čítače měří průměrný čas (v sekundách) pro operace čtení a zápisu. Pokud průměrné hodnoty přesáhnou 10–20 ms, trvá disku zpracování dat příliš dlouho. Jednotky pro protokolování transakcí vyžadují obzvláště rychlý zápis.
Délka fronty disku
Toto zobrazuje nevyřízené požadavky na čtení/zápis na disk. Hodnoty trvale vyšší než 2 (nebo 2 na disk u polí RAID) naznačují, že disk nedokáže zpracovat požadavky na I/O.
Bajty disku/s
Toto monitoruje rychlost přenosu dat na disk a z disku. Pokud tato rychlost překročí jmenovitou kapacitu disku, začnou se data hromadit, což je indikováno zvětšující se délkou fronty disku.
Přenosy disku/s
Toto sleduje počet operací čtení/zápisu provedených na disku. SQL Server Přístup k datům je obvykle náhodný, což je pomalejší kvůli pohybu hlavičky disku. Ujistěte se, že tato hodnota zůstává pod maximálním výkonem vašeho disku (obvykle 100/s u standardních disků).
3.4 SQL Server Specifické čítače
3.4.1 Čítače správce vyrovnávací paměti
Monitorování čítačů Buffer Manageru SQL Serveroperace s vyrovnávací pamětí:
- Přečtení stránky/s: Kumulativní počet fyzických přečtení stránek databáze
- Počet zápisů stránky/s: Kumulativní počet zápisů fyzických stránek databáze
- Líné zápisy/s: Počet vyrovnávacích pamětí zapsaných programem lazy writer pro uvolnění paměti
- Stránky kontrolních bodů/s: Stránky vyprázdněné kontrolním bodem nebo jinými operacemi vyžadujícími vyprázdnění všech nefunkčních stránek
3.4.2 Čítače statistik SQL
Tyto čítače poskytují vhled do SQL Server zpracování dotazů:
- Počet dávkových požadavků/s: Počet dávkových požadavků SQL přijatých serverem. Slouží jako měřítko aktivity serveru.
- Kompilace SQL/s: Počet kompilací SQL. Mělo by být 10 % nebo méně z celkového počtu dávkových požadavků/s.
- Rekompilace SQL/s: Počet rekompilací SQL. Mělo by být také 10 % nebo méně z celkového počtu dávkových požadavků/s.
3.4.3 Obecné statistické čítače
- Uživatelská připojení: Počet uživatelů připojených k systému. Používá se jako měřítko pro sledování růstu připojení v čase.
- Blokované procesy: Aktuální počet blokovaných procesů. V ideálním případě by měl být 0.
3.4.4 Čítače správce paměti
- Udělení paměti čeká na schválení: Celkový počet procesů čekajících na udělení paměti pracovního prostoru. V ideálním případě by měl být 0.
4. Nastavení sledování výkonu pro SQL Server(Windows Vista / Server 2008 a novější)
Nejprve musíme vytvořit kontejner pro snadnější správu čítačů:
- V systémech Windows Vista / Server 2008 a novějších verzích můžete v této části vytvářet sady sběračů dat.
- Pro systémy Windows XP / Server 2003 a starší verze můžete vytvářet protokoly čítačů v další část.
4.1 Co jsou sady sběračů dat?
Sady sběračů dat organizují čítače výkonu, data trasování událostí a informace o konfiguraci systému do jedné sběrné jednotky. Poskytují větší flexibilitu než jednoduché protokoly čítačů a umožňují automatizovaný, plánovaný sběr dat pro komplexní monitorování výkonu databáze SQL.
4.2 Vytvoření sady sběračů dat
Vytvořte si vlastní sadu sběračů dat pro monitorování SQL Server čítače výkonu:
- Otevřít Sledování výkonu
- Rozšířit Sady sběračů dat
- Klepněte pravým tlačítkem myši Definováno uživatelem
- vybrat Nový -> Sada sběračů dat
- Zadejte popisný název (např. „SQL Server „Metriky výkonu“)
- vybrat Ruční vytvoření (pokročilé)
- klikněte další
- Kontrola Vytvořit datové protokoly -> Čítač výkonu
- klikněte další
- klikněte přidat vybrat čítače
- přidat požadovanou SQL Server a systémové čítače.
- sada Interval vzorkování
- Pro běžné monitorování použijte 1 minutu (60 sekund)
- Pro aktivní odstraňování problémů použijte 15–30 sekund
- Vyhněte se dlouhodobému spouštění vysokofrekvenčních záznamů, protože mohou ovlivnit výkon a generovat nadměrné množství dat.
- klikněte další
- Vyberte umístění pro uložení protokolů
- klikněte úprava, bude vytvořena nová sada sběračů dat.
- Ve výchozím nastavení bude nová sada sběračů dat NENÍ spustit automaticky. Musíte ho najít v levém panelu pod Výkon -> Sady sběračů dat -> Definováno uživatelem -> Váš sběrač dat, klikněte na něj pravým tlačítkem myši a vyberte Home
4.3 Klíčové čítače k přidání
- Paměť -> Dostupné MB
- Fyzický disk -> Průměrný počet sekund na disku/čtení (všechny instance kromě _Total)
- Fyzický disk -> Průměrný počet sekund na disku/zápis (všechny instance kromě _Total)
- Fyzický disk -> Čtení disku/s (všechny instance kromě _Total)
- Fyzický disk -> Zápisy na disk/s (všechny instance kromě _Total)
- Procesor -> % času procesoru (všechny instance kromě _Total)
- SQLServer: Obecné statistiky -> Uživatelská připojení
- SQLServer: Správce paměti -> Čeká na udělení paměťových grantů
- SQLServer: Statistiky SQL -> Dávkové požadavky/s
- SQLServer: Statistiky SQL -> Kompilace SQL/s
- SQLServer: Statistiky SQL -> Rekompilace SQL/s
- Systém -> Délka fronty procesoru
4.4 Nastavení podmínek zastavení
Nakonfigurujte podmínky zastavení, abyste zabránili neomezenému růstu dat:
- Po vytvoření sady sběračů dat na ni klikněte pravým tlačítkem myši a vyberte Nemovitosti
- Klepněte na tlačítko Podmínka zastavení Karta
- umožnit Celková doba trvání
- Nastavit dobu trvání na 1 den (24 hodin)
- klikněte OK uložit
Díky tomu se protokol příliš nezvětší a v případě plánování se automaticky restartuje.
4.5 Plánování sběru dat
Automatizujte sběr dat pro zajištění konzistentního monitorování:
- Klikněte pravým tlačítkem myši na sadu sběračů dat a vyberte Nemovitosti
- Klepněte na tlačítko Naplánovat Karta
- klikněte přidat vytvořit nový rozvrh
- Konfigurace data a času zahájení
- Nastavit vzorec opakování (např. denně)
- klikněte OK uložit rozvrh
Pro automatické spuštění nakonfigurujte sadu sběračů dat tak, aby se spouštěla při spuštění serveru, a to vytvořením spouštěcí události v Plánovači úloh systému Windows.
5. Nastavení sledování výkonu pro SQL Server(Windows XP / Server 2003 a starší)
V systému Windows XP / Server 2003 a starších verzích můžete vytvářet protokoly čítačů, které vám umožňují vybrat sadu čítačů výkonu a pravidelně je protokolovat do souboru.
5.1 Vytváření protokolů počítadla
Chcete-li vytvořit nový protokol počítadla, postupujte takto:
- Otevřít Sledování výkonu
- Rozšířit Záznamy a upozornění výkonu v levém panelu
- Klepněte pravým tlačítkem myši Protokoly počítadla
- vybrat Nové nastavení protokolu
- Pojmenujte protokol názvem vašeho databázového serveru (např. „ProductionSQL01“)
- klikněte OK pro zahájení konfigurace
Vytvoření samostatných protokolů čítačů pro každý server umožňuje testovat výkon na jednotlivých serverech, aniž by bylo nutné shromažďovat data pro všechny servery současně.
5.2 Přidání čítačů výkonu
Po vytvoření protokolu čítačů přidejte konkrétní čítače výkonu, které chcete monitorovat:
- Klepněte na tlačítko Přidat čítače tlačítko
- Změňte název počítače tak, aby odkazoval na váš SQL Server instance
- Pro média Tab načíst dostupné objekty výkonu
- Vyberte z rozbalovací nabídky výkonnostní objekt (např. Memory)
- Vyberte konkrétní čítače z seznam
- V případě potřeby vyberte instance (např. jednotlivé procesory nebo disky)
- klikněte přidat zahrnout počítadlo
- Opakujte pro všechny požadované čítače
- klikněte zavřít po dokončení
5.3 Konfigurace intervalů vzorkování
Interval vzorkování určuje, jak často Performance Monitor shromažďuje data. Nakonfigurujte vhodné intervaly na základě vašich potřeb monitorování:
- Ve vlastnostech protokolu čítače vyhledejte Ukázka dat každých
- Nastavte interval (výchozí je 15 sekund)
- Pro monitorování základních hodnot používejte denní intervaly sběru 1 minuty.
- Pro řešení problémů používejte krátké intervaly 15–30 sekund.
- klikněte OK použít
Nezapomeňte, že menší intervaly generují více dat, která se hůře vykreslují a analyzují. Větší intervaly mohou vynechat důležité výkyvy. Vyvažte granularitu dat s požadavky na úložiště a analýzu.
5.4 Konfigurace souborů protokolu
Správná konfigurace souboru protokolu zajišťuje efektivní a přístupné ukládání dat:
- Klepněte na tlačítko Soubory protokolu záložka ve vlastnostech protokolu počítadla
- Změnit typ souboru protokolu na Textový soubor (oddělený čárkami) pro snadný import z Excelu
- klikněte Konfigurace
- Nastavte cestu k souboru na vyhrazené umístění (např. sdílenou složku PerformanceLogs)
- klikněte OK potvrdit
Pro ukládání protokolů použijte sdílenou složku přístupnou ze sítě, abyste k souborům mohli přistupovat vzdáleně a sdílet je s ostatními uživateli.
5.5 Nastavení přihlašovacích údajů
Nakonfigurujte příslušné přihlašovací údaje, aby Monitor výkonu mohl přistupovat ke vzdálenému serveru. SQL Server instance:
- Ve vlastnostech protokolu čítače vyhledejte Běž jako
- Zadejte uživatelské jméno vaší domény ve formátu: DOMÉNA\uživatelské_jméno
- klikněte Nastavit heslo
- Zadejte a potvrďte své heslo
- klikněte OK uložit
Díky tomu může služba PerfMon shromažďovat statistiky pomocí oprávnění vaší domény, nikoli pomocí vlastních přihlašovacích údajů.
6. Analýza dat z monitoru výkonu
6.1 Zobrazení souborů protokolu v nástroji Sledování výkonu
Monitor výkonu dokáže zobrazit historická data z uložených souborů protokolů:
- Otevřít Sledování výkonu
- V levém podokně klikněte na Monitorovací nástroje -> Performance Monitor.
- Klikněte pravým tlačítkem myši kamkoli v oblasti grafu
- vybrat Nemovitosti
- Klepněte na tlačítko Zdroj Karta
- vybrat Záznam souborů přepínač
- klikněte přidat
- Přejděte do souboru protokolu (.blg nebo .csv)
- Vyberte soubor a klikněte na Otevřená
- Použití Časový rozsah posuvníkem vyberte období, které chcete analyzovat
- klikněte OK zavřete dialogové okno Vlastnosti
- Kliknutím na zelenou ikonu plus přidáte čítače ze souboru protokolu.
- Vyberte požadované čítače, které chcete zobrazit
- klikněte OK
Graf nyní zobrazí historická data ze souboru protokolu. Pomocí posuvníku Časový rozsah ve vlastnostech můžete zúžit výběr konkrétních časových období pro podrobnou analýzu.
6.2 Export dat do Excelu
Excel nabízí výkonné analytické funkce pro data čítačů výkonu:
- Otevřete Sledování výkonu s načteným souborem protokolu
- Klikněte pravým tlačítkem myši kamkoli v oblasti grafu
- vybrat Uložit data jako
- Vyberte umístění pro soubor
- vybrat Textový soubor (oddělený čárkami) (.csv) z rozbalovací nabídky
- klikněte Uložit
- Otevřete soubor CSV v Excelu
Pro lepší analýzu naformátujte exportovaná data:
- Smažte poloprázdný řádek 2 a vyčistěte buňku A1
- Formátovat sloupec A jako datum/čas
- Formátování číselných sloupců s nulovým počtem desetinných míst a oddělovačem tisíců
- Vyhledání a nahrazení názvů serverů v záhlavích (např. nahrazení „\\NÁZEVSERVERU“ prázdným textem)
- Vyčištění názvů objektů v záhlavích (např. „Paměť“, „Fyzický disk“, „Procesor“)
- Pro lepší viditelnost zmenšete písmo záhlaví na 8 bodů.
6.3 Interpretace hodnot čítače
6.3.1 Analýza čítače paměti
Při analýze čítačů paměti hledejte tyto indikátory:
- Dostupné MB: Mělo by trvale zůstat nad 4096 MB
- Životnost stránky: Hodnoty nad 300 sekund naznačují zdravou paměť. Nižší hodnoty naznačují zátěž paměti.
- Poměr přístupů do mezipaměti vyrovnávací paměti: Mělo by dosahovat nebo překračovat 99 %. Nižší hodnoty naznačují nadměrné čtení z disku.
- Udělení paměti čeká na schválení: Mělo by být vždy 0. Jakákoli kladná hodnota indikuje nedostatek paměti.
6.3.2 Analýza čítače CPU
Mezi ukazatele výkonu CPU patří:
- % Doba procesoru: Dlouhodobé používání nad 75 % naznačuje problémy s výkonem. Výkyvy na 100 % jsou normální, ale neměly by přetrvávat.
- Délka fronty procesoru: Hodnoty nad 1 značí zatížení CPU. Zkontrolujte Správce úloh a zjistěte, které procesy spotřebovávají CPU.
- % Privilegovaný čas: Mělo by se pohybovat mezi 5–10 %. Hodnoty nad 25 % naznačují nadměrný počet I/O operací.
6.3.3 Analýza čítače disků
Prahové hodnoty výkonu disku:
- Průměrný čas disku v sekundách/čtení a zápis: Mělo by zůstat pod 10–20 ms. Vyšší hodnoty značí pomalé diskové subsystémy.
- Délka fronty disku: Hodnoty trvale nad 2 (nebo 2 na disk v RAID) naznačují úzká místa I/O.
- % Čas disku: Trvalé hodnoty nad 85 % indikují nasycení disku.
6.4 Používání vzorců a statistiky
Přidejte statistické vzorce do Excelu pro rychlou analýzu:
- Vložte 7 prázdných řádků na začátek tabulky
- Přidejte popisky do sloupce A: Průměr, Medián, Min, Max, Standardní odchylka
- Do buňky B2 zadejte: =AVERAGE(B9:B100) (upravte B100 na poslední řádek dat)
- Do buňky B3 zadejte: =MEDIAN(B9:B100)
- Do buňky B4 zadejte: =MIN(B9:B100)
- Do buňky B5 zadejte: =MAX(B9:B100)
- Do buňky B6 zadejte: =STDEV(B9:B100)
- Zkopírujte vzorce do všech sloupců čítače
- Vyberte buňku B9 a stiskněte Alt+W+F+Enter pro zmrazení panelů.
Tyto statistiky pomáhají identifikovat trendy, odlehlé hodnoty a normální provozní rozsahy pro každý čítač.
7. Nástroj pro analýzu výkonu protokolů (PAL)
7.1 Úvod do PALu
Analýza výkonu pro protokoly (PAL) je bezplatný nástroj vyvinutý Clintem Huffmanem, který analyzuje protokoly Performance Monitoru a generuje HTML zprávy s analýzou prahových hodnot. PAL porovnává vaše data o výkonu se známými prahovými hodnotami a poskytuje podrobná doporučení pro SQL Server optimalizace výkonu.
Stáhněte si PAL z repozitáře GitHub: https://github.com/clinthuffman/PAL
7.2 Nastavení PALu
Nainstalujte PAL podle těchto kroků:
- Stáhněte si instalační soubor PAL z GitHubu
- Spusťte instalační program
- klikněte další na úvodní obrazovce
- Zkontrolujte a přijměte instalační adresář
- klikněte další pokračovat
- klikněte instalovat pro zahájení instalace
- Počkejte, až dokončíte instalaci
- klikněte úprava
7.3 Zpracování souborů protokolu pomocí PAL
Analyzujte protokoly sledování výkonu pomocí protokolu PAL:
- Spusťte PAL z nabídky Start nebo instalačního adresáře
- Klepněte na tlačítko Protokol počítadla Karta
- klikněte Procházet vyberte soubor .blg
- Přejděte do souboru protokolu sledování výkonu
- klikněte Otevřená
- Klepněte na tlačítko Soubor prahových hodnot Karta
- Vyberte soubor s prahovou hodnotou z rozbalovací nabídky (např. „SQL Server 2016 ”)
- Klepněte na tlačítko otázky Karta
- Odpovězte na otázky týkající se konfigurace vašeho systému
- Uveďte, zda vaše SQL Server je OLTP nebo datový sklad
- Zadejte celkovou dostupnou RAM
- Klepněte na tlačítko Možnosti výstupu Karta
- Vyberte výstupní adresář pro HTML sestavu
- Kontrola HTML výstupní formát
- Klepněte na tlačítko Provést Karta
- Zkontrolujte svůj výběr
- Kontrola Zahájit realizaci nyní
- klikněte úprava
7.4 Analýza zpráv PAL
Po dokončení analýzy PAL vygeneruje HTML zprávu obsahující:
- Shrnutí problémů s výkonností
- Podrobná analýza protiúčtu s grafy
- Porušení prahových hodnot je barevně zvýrazněno
- Konkrétní doporučení pro každý problém
- Historické trendy a vzorce
Zpráva používá barevné kódování k označení závažnosti: červená pro kritické problémy, žlutá pro varování a zelená pro metriky v pořádku. Projděte si každou část, abyste pochopili úzká místa ve výkonu, a řiďte se doporučeními PAL pro optimalizaci.
8. Alternativní SQL Server Monitorovací nástroje
8.1 Vestavěný SQL Server Tools
8.1.1 SQL Server Activity Monitor
SQL Server Activity Monitor zobrazuje informace v reálném čase o SQL Server procesy a výkon:
- Otevřená SQL Server Management Studio (SSMS) a připojení k vaší instanci serveru
- Klikněte pravým tlačítkem myši na název serveru v Průzkumníku objektů.
- vybrat Activity Monitor
Monitor aktivity zobrazuje procesy, čekací doby na zdroje, operace I/O s datovými soubory a nedávné náročné dotazy. Poskytuje rychlý přehled o aktuální aktivitě databáze, ale neukládá historická data.
8.1.2 SQL Server Výkonový panel
SQL Server Management Studio obsahuje vestavěné reporty výkonu:
- In SQL Server Management Studio (SSMS), klikněte pravým tlačítkem myši na SQL Server instance v Průzkumníku objektů
- vybrat zprávy -> Standardní zprávy
- Vyberte si z dostupných přehledů, jako například Výkonový panel
Panel výkonnosti poskytuje vizuální přehled o SQL Server výkon instance, včetně využití CPU systému, aktuálních čekajících požadavků a metrik výkonu. Přístup k nim je možný prostřednictvím nabídky Standardní sestavy.
8.1.3 SQL Server profil
SQL Server profil zachycuje a analyzuje SQL Server události, jako je provádění dotazů, transakční operace a aktivity přihlášení.
Začít SQL Server profilovač:
- In SQL Server Management Studio, klikněte Tools -> SQL Server profil
Profiler vytváří značné režijní náklady na výkon, proto jej používejte uvážlivě a nejlépe mimo špičku. Ve většině scénářů poskytuje Extended Events lepší výkon s menším dopadem.
8.1.4 Rozšířené události
Rozšířené události je lehký systém pro monitorování výkonu zabudovaný do SQL ServerNahrazuje SQL Server Profiler s lepším výkonem a nižšími režijními náklady.
Klíčové vlastnosti patří:
- Podrobné monitorování specifických událostí
- Minimální dopad na výkon
- Přizpůsobitelné relace akcí
- Integrace se SSMS a dalšími nástroji
- Podpora komplexního filtrování a agregace
Vytvoření relací rozšířených událostí pomocí SSMS:
- In Průzkumník objektů, rozbalte svůj server a přejděte na Správa -> Rozšířené události -> Relace
- Klepněte pravým tlačítkem na Sessions A zvolte Průvodce novou relací
- Postupujte podle pokynů pro zahájení nové relace.
8.1.5 Dynamické pohledy pro správu (DMV)
DMV zpřístupňují podrobné informace o stavu serveru pro monitorování jeho stavu, diagnostiku problémů a ladění výkonu. Mezi klíčové DMV patří:
- sys.dm_exec_query_stats: Statistiky výkonu dotazů
- sys.dm_os_wait_stats: Typy čekání ovlivňující výkon serveru
- sys.dm_os_performance_counters: SQL Server data čítače výkonu
- sys.dm_exec_requests: Aktuálně se provádějí požadavky
- sys.dm_exec_sessions: Aktivní uživatelské relace
Dotazujte se na tato zobrazení pomocí T-SQL pro přístup k datům o výkonu v reálném čase a historickým metrikám.
Základní použití
-- See all active connections
SELECT * FROM sys.dm_exec_connections;
-- View current sessions
SELECT * FROM sys.dm_exec_sessions;
-- Check database file stats
SELECT * FROM sys.dm_io_virtual_file_stats(NULL, NULL);
8.2 Řešení pro monitorování od třetích stran
Redgate SQL Monitor
Redgate SQL Monitor se specializuje na monitorování SQL Server a prostředí Azure SQL Database. Nabízí monitorování v rámci celého areálu, přizpůsobitelná upozornění a řídicí panely, podrobné funkce pro tvorbu reportů a integraci s dalšími nástroji Redgate.
SolarWinds SQL Server Monitorovací nástroj
SolarWinds SQL Server Monitorovací nástroj, také známý jako SQL Sentry, je určen k diagnostice, řešení a prevenci závažných problémů s výkonem SQL Server.
IDERA SQL Server Nástroj pro sledování výkonu
IDERA SQL Diagnostic Manager je výkonný nástroj SQL Server nástroj pro sledování výkonu určený k proaktivnímu sledování výkonu, diagnostice a ladění.
SQL Monitoring správce aplikací
Applications Manager nabízí Microsoft SQL Server Monitorovací nástroj, který poskytuje užitečná IT řešení. Je navržen tak, aby dohlížel na výkon databází SQL a současně identifikoval chyby a řešil problémy, které by mohly vést k zastavení provozu organizace.
8.3 Nástroje pro monitorování s otevřeným zdrojovým kódem
DBA Dash
DBA Dash je bezplatný monitorovací nástroj s otevřeným zdrojovým kódem, který poskytuje přehled o SQL Server stav, výkon a aktivita. Je obzvláště užitečný pro malá až středně velká prostředí a zahrnuje denní kontroly databáze, monitorování výkonu a sledování konfigurace.
SQLWATCH
SQLWATCH nabízí decentralizované zpracování téměř v reálném čase SQL Server monitorování s 5sekundovou granularitou pro zachycení špičkových nárůstů pracovní zátěže. Podporuje Grafanu pro řídicí panely v reálném čase a Power BI pro hloubkovou analýzu. Nástroj nabízí rozsáhlé možnosti konfigurace, nulové nároky na údržbu a neomezenou škálovatelnost.
Observer
Vyvinutý společností Stack Exchange, Opserver monitoruje více systémů včetně SQL Server, Redis a Elasticsearch. Poskytuje zobrazení „všech serverů“ pro statistiky CPU, paměti, sítě a hardwaru v celé vaší infrastruktuře.
sp_Kdo je aktivní
sp_WhoIsActive je komplexní uložená procedura pro monitorování aktivit, kterou vytvořil Adam Machanic. Funguje se všemi SQL Server verze od roku 2005 až do současných vydání a je široce používán SQL Server DBA pro monitorování aktivit v reálném čase.
Chcete-li použít sp_WhoIsActive, stáhněte si jej z http://whoisactive.com/, nainstalujte jej do databáze a spusťte:
EXEC sp_WhoIsActive
Procedura zobrazuje aktuálně prováděné dotazy, informace o čekání, podrobnosti o blokování a spotřebu zdrojů.
9. Nejlepší postupy pro SQL Server Performance Monitor
9.1 Stanovení základních hodnot výkonnosti
Základní výkonnostní linie stanovují normální provozní parametry pro váš SQL Server prostředí. Bez výchozích hodnot nelze určit, zda aktuální metriky naznačují problémy, nebo zda představují typické chování.
Vytvořte základní linie pomocí:
- Sběr dat o výkonu během běžného provozu po dobu alespoň jednoho týdne
- Zaznamenávání metrik během špičky i mimo ni
- Dokumentace typických hodnot pro čítače klíčů
- Zaznamenávání sezónních výkyvů, pokud je to relevantní
- Ukládání základních dat pro porovnání s budoucími metrikami
Aktualizujte základní hodnoty čtvrtletně nebo po významných změnách infrastruktury, aktualizacích aplikací nebo úpravách databáze.
9.2 Nastavení vhodných prahových hodnot pro výstrahy
Nakonfigurujte inteligentní prahové hodnoty pro příjem smysluplných upozornění, aniž byste se museli zahlcovat notifikacemi:
- Hodnota Nevyřízené granty paměti > 0 označuje zatížení paměti
- Délka fronty procesoru > 2 na jádro naznačuje úzké hrdlo procesoru
- Čas disku/čtení nebo zápis > 20 ms indikuje pomalý vstup/výstup
- Blokované procesy > 5 signálů konfliktních problémů
- Očekávaná životnost stránky < 300 sekund značí zatížení paměti
Upravte prahové hodnoty na základě vašich základních dat a specifických charakteristik pracovní zátěže. Používejte adaptivní prahové hodnoty, které zohledňují běžné výkyvy ve vašem prostředí.
9.3 Pravidelná kontrola a analýza dat
Naplánujte si pravidelné kontroly výkonnosti, abyste identifikovali trendy a vznikající problémy:
- Denně: Prohlížet si hlavní metriky a nedávná upozornění
- Týdně: Provádějte hloubkovou analýzu trendů výkonnosti
- Měsíčně: Generování komplexních reportů a porovnávání s výchozími hodnotami
- Čtvrtletně: Kontrola plánování kapacity a dlouhodobých trendů
Dokumentujte zjištění a sledujte zlepšování výkonnosti v průběhu času.
9.4 Režie monitorování vyvažování
Samotné monitorování spotřebovává zdroje, proto vyvažte sběr dat s dopadem na výkon:
- Pro nepřetržité monitorování používejte intervaly 30–60 sekund.
- Pro aktivní odstraňování problémů používejte pouze 15sekundové intervaly.
- Omezení doby trvání sady sběrače dat, aby se zabránilo nadměrnému množství dat
- Ukládejte protokoly na oddělené disky od databázových souborů
- Archivace starých dat o výkonu pro zachování zvládnutelné velikosti souborů
Sledování výkonu při správné konfiguraci přidává minimální režijní zátěž, obvykle méně než 2 % systémových prostředků.
9.5 Dlouhodobé uchovávání dat
Uchovávejte data o výkonu pro smysluplnou analýzu trendů a plánování kapacity:
- Uchovávejte údaje o výkonnosti za alespoň 1–2 roky
- Archivujte data do samostatného úložiště po 3–6 měsících
- Komprimujte starší soubory protokolů pro úsporu místa
- Zdokumentujte všechny významné události nebo změny, které ovlivňují výkon
Vzhledem k relativně malé velikosti dat čítačů výkonu je jejich uchovávání po dobu neurčitou často proveditelné a cenné pro dlouhodobou analýzu.
9.6 Integrace s postupy DevOps
Začlenění monitorování výkonu databáze do CI/CD pipelines:
- Zahrnout metriky výkonu databáze do ověření nasazení
- Automatizujte testování výkonu pro nové verze
- Ověřte, zda změny kódu nemají negativní vliv na výkon
- Vytvořte výkonnostní benchmarky pro každou verzi
- Integrace monitorovacích upozornění se systémy pro správu incidentů
10. Řešení běžných problémů s výkonem
10.1 Identifikace úzkých míst CPU
Úzká hrdla procesoru se projevují jako pomalá doba odezvy na dotazy a vysoké využití procesoru. K diagnostice problémů s procesorem použijte tyto kroky:
- Zkontrolujte čítač délky fronty procesoru. Hodnoty nad 2 na jádro značí zatížení procesoru.
- Zkontrolujte % využití procesoru. Trvalé hodnoty nad 75 % naznačují úzké hrdlo CPU.
- Vzdálená plocha k SQL Server
- Otevřít Správce úloh (Ctrl+Shift+Esc)
- Klepněte na tlačítko Procesy Karta
- Kontrola Zobrazit procesy od všech uživatelů
- Klepněte na tlačítko Procesor (CPU) záhlaví sloupce pro řazení podle využití CPU
- Identifikace procesů, které spotřebovávají prostředky CPU
Pokud ne-SQL Server Aplikace spotřebovávají značné množství CPU, odeberte je z databázového serveru. Pokud sqlservr.exe využívá vysoké CPU, prověřte to pomocí těchto metod:
- Zkontrolujte počet kompilací SQL/s a počet opětovných kompilací SQL/s. Hodnoty nad 10 % počtu dávkových požadavků/s naznačují nadměrnou kompilaci.
- Dotaz sys.dm_exec_query_stats pro identifikaci dotazů náročných na procesor
- Kontrola plánů provádění, zda nechybí indexy nebo zda operace nejsou efektivní.
- Zvažte přidání indexů pro snížení počtu prohledávání tabulek.
10.2 Diagnostika problémů s pamětí
Problémy s pamětí významně ovlivňují SQL Server výkon. Diagnostikujte problémy s pamětí pomocí těchto indikátorů:
Dostupné kapky paměti
Pokud počet dostupných MB trvale klesne pod 100 MB, operační systém čelí nedostatku paměti. Windows může docházet k stránkování. SQL Server paměti na disk, což způsobuje snížení výkonu.
Nízká očekávaná životnost stránky
Očekávaná životnost stránky pod 300 sekund indikuje vysokou míru obratu vyrovnávací paměti v mezipaměti. To naznačuje buď nedostatečnou alokaci paměti, nebo nadměrné zatížení paměti dotazy.
Nízký poměr zásahů do mezipaměti bufferu
Poměr zásahů do mezipaměti bufferu pod 99 % znamená SQL Server často čte data z disku, nikoli z paměti. K tomu dochází, když je vyrovnávací paměť příliš malá nebo SQL Server po restartu se stále zahřívá.
Čeká se na přidělení paměti
Jakákoli hodnota nad 0 pro Memory Grants Pending (Čekající na udělení paměti) znamená, že dotazy čekají na udělení paměti. To představuje kritický nedostatek paměti vyžadující okamžitou pozornost.
Řešení problémů s pamětí:
- Konfigurace SQL Server nastavení maximální paměti, aby operačnímu systému zůstalo dostatek paměti RAM (obvykle 4–8 GB v závislosti na velikosti serveru)
- Povolit oprávnění „Uzamknout stránky v paměti“ pro SQL Server servisní účet
- Pokud přetrvává tlak na paměť, přidejte na server více fyzické paměti RAM.
- Identifikace a optimalizace paměťově náročných dotazů
10.3 Řešení problémů s diskovými vstupně-výstupními operacemi
Diskové I/O operace se často stávají hlavním úzkým hrdlem výkonu v databázových systémech. Diagnostikujte problémy s disky pomocí těchto metod:
Vysoká délka fronty disku
Pokud je délka fronty disku trvale vyšší než 2 (nebo 2 na disk v případě RAID), znamená to, že diskový subsystém nedokáže zpracovat požadavky I/O. To vytváří nahromadění čekajících operací.
Nadměrná latence disku
Hodnoty průměrného času disku v sekundách/čtení a průměrného času disku v sekundách/zápis nad 10–20 ms naznačují pomalou odezvu disku. Jednotky protokolů transakcí vyžadují obzvláště rychlý výkon, ideálně pod 5 ms pro zápis.
Vysoké % času disku
Trvalý % diskového času nad 85 % indikuje nasycení disku. Disk tráví většinu času zpracováním I/O požadavků s malou zbývající volnou kapacitou.
Než se zaměříte na problémy s diskem, ověřte, zda se nejedná o příznaky problémů s pamětí. Nedostatečná paměť vynucuje SQL Server číst více dat z disku, čímž uměle nafukují metriky disku.
Řešení problémů s I/O na skutečném disku:
- Přejděte na rychlejší disky (SSD místo HDD)
- Implementace konfigurací RAID pro lepší výkon
- Oddělte soubory databáze, transakční protokoly a dočasnou databázi na různých fyzických discích
- Přidáním paměti se sníží počet čtení z disku
- Optimalizace indexů pro snížení zbytečného I/O
- Kontrola a optimalizace neefektivních dotazů
10.4 Řešení blokování a deadlocků
K blokování dochází, když jedna relace drží zámky, které brání v pokračování ostatních relací. Sledujte tyto čítače, abyste identifikovali problémy s blokováním:
- Blokované procesy: V ideálním případě by mělo být 0
- Čekání na uzamčení/s: Počet požadavků na uzamčení vyžadujících čekání
- Průměrná doba čekání: Průměrná doba čekání na uzamčení
Prošetření blokování:
- Otevření Sledování aktivity v SSMS
- Rozbalte Procesy sekce
- Hledejte procesy s nenulovou hodnotou Blokováno uživatelem hodnoty
- Identifikujte ID blokující relace
- Zkontrolujte dotazy, které způsobují blokování
Pro podrobnější analýzu blokování použijte sp_WhoIsActive. Nadměrný počet položek wait_info často naznačuje konflikty v databázi tempdb nebo problémy s blokováním.
Pro snížení blokování:
- Minimalizujte dobu trvání transakce
- Používejte vhodné úrovně izolace
- Přidání indexů pro zkrácení doby trvání uzamčení
- Zvažte izolaci READ_COMMITTED_SNAPSHOT
- Kontrola a optimalizace dlouhodobě běžících dotazů
10.5 Problémy s výkonem dotazů
Identifikace náročných dotazů je nezbytná pro monitorování výkonu SQL. K nalezení problematických dotazů použijte tyto metody:
Používání Monitoru aktivity
- V SSMS klikněte pravým tlačítkem myši na název serveru.
- vybrat Activity Monitor
- Rozšířit Nedávné drahé dotazy
- Kontrolní dotazy s vysokou náročností CPU, dobou trvání nebo logickým čtením
Používání DMV
Dotaz sys.dm_exec_query_stats pro identifikaci dotazů náročných na zdroje:
SELECT TOP 50
total_worker_time/execution_count AS avg_cpu_time,
total_logical_reads/execution_count AS avg_logical_reads,
execution_count,
SUBSTRING(qt.text, (qs.statement_start_offset/2)+1,
((CASE qs.statement_end_offset
WHEN -1 THEN DATALENGTH(qt.text)
ELSE qs.statement_end_offset
END - qs.statement_start_offset)/2) + 1) AS query_text
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) qt
ORDER BY total_worker_time DESC
Analýza realizačních plánů
- V SSMS otevřete nové okno dotazu
- klikněte Zobrazit odhadovaný plán realizace (Ctrl+L) nebo Zahrnout skutečný plán provedení (Ctrl+M)
- Spusťte svůj dotaz
- Projděte si plán realizace nákladných operací
- Hledejte prohledávání tabulek, prohledávání indexů nebo nákladné operace
Optimalizujte dotazy podle:
- Přidání vhodných indexů
- Přepisování dotazů pro zamezení nákladných operací
- Aktualizace statistik
- Použití konkrétních názvů sloupců místo SELECT *
- Vyhýbání se zbytečným klauzulím DISTINCT nebo ORDER BY
10.6 Detekce a oprava poškozené databáze
Poškození databáze může způsobit snížení výkonu, ztrátu dat a selhání systému. Rychlá detekce a řešení poškození je zásadní pro udržení stavu databáze.
Indikátory poškození databáze
Dávejte si pozor na tyto známky možné korupce:
- Chybové zprávy v SQL Server protokol chyb (chyba 823, 824 nebo 825)
- Neočekávané chyby aplikace při přístupu ke konkrétním tabulkám
- Pomalý výkon dotazů u dříve rychlých dotazů
- SQL Server pády nebo neočekávané restarty
- Podezřelé stránky se zobrazují v tabulce msdb.dbo.suspect_pages
Použití DBCC CHECKDB pro detekci
DBCC CHECKDB je primárním nástrojem pro detekci poškození databáze. Pravidelně jej spusťte, abyste problémy odhalili včas.
Monitorování podezřelých stránek
SQL Server automaticky zaznamenává podezřelé stránky do databáze msdb:
SELECT
database_id,
file_id,
page_id,
event_type,
error_count,
last_update_date
FROM msdb.dbo.suspect_pages
WHERE event_type IN (1,2,3)
Všechny vrácené řádky naznačují problémy s poškozením, které vyžadují okamžitou pozornost.
Strategie prevence korupce
- Povolit ověření stránky pomocí možnosti CHECKSUM
- Pravidelně udržujte zálohy databáze
- Používejte spolehlivý hardware s korekcí chyb
- Sledování stavu disku pomocí nástrojů výrobce
- Naplánujte pravidelné spuštění DBCC CHECKDB
- Udržet SQL Server aktualizováno s nejnovějšími záplatami
Možnosti obnovy a opravy
Pokud jsou zjištěny poškození, můžete vyzkoušet vestavěný nástroj DBCC CHECKDB k jejich opravě. Pokud se to nepodaří, použijte nástroje třetích stran, jako například DataNumen SQL Recovery který si dokáže poradit s vážnou korupcí.
11. Pokročilé monitorovací techniky
11.1 Monitorování úložiště dotazů
Úložiště dotazů, představené v SQL Server 2016 automaticky zaznamenává data o výkonu dotazů. Poskytuje cenné informace o chování dotazů, plánech provádění a trendech výkonu.
Povolení úložiště dotazů
- V Průzkumníku objektů SSMS klikněte pravým tlačítkem myši na databázi.
- vybrat Nemovitosti
- Klepněte na tlačítko Dotazový obchod strana
- In Provozní režim (požadovaný)vyberte Číst psát
- Nakonfigurujte další nastavení podle potřeby
- klikněte OK
Monitorování výkonu dotazů
Přístup k sestavám úložiště dotazů prostřednictvím Průzkumníka objektů:
- Rozbalení databáze v Průzkumníku objektů
- Rozšířit Dotazový obchod
- Vyberte z dostupných reportů:
- Regresní dotazy
- Celková spotřeba zdrojů
- Nejčastější dotazy spotřebovávající zdroje
- Dotazy s vynucenými plány
- Sledované dotazy
Detekce regrese plánu
Úložiště dotazů automaticky detekuje změny v plánech provádění dotazů a snížení výkonu. Prohlédněte si sestavu Regresní dotazy a identifikujte dotazy ovlivněné změnami plánu.
Správa nuceného plánu
Když Query Store identifikuje lepší plán provedení, vynutí SQL Server použít ho:
- Otevřete dotaz v úložišti dotazů
- Klikněte pravým tlačítkem myši na požadovaný plán
- vybrat Plán sil
To okamžitě zlepšuje výkon bez nutnosti změn kódu.
11.2 Monitorování údržby indexů
Fragmentace indexů časem snižuje výkon dotazů. Pro zajištění optimálního výkonu pravidelně monitorujte a udržujte indexy.
Kontrola fragmentace
Pomocí tohoto dotazu zkontrolujte fragmentaci indexu:
SELECT
OBJECT_NAME(i.object_id) AS table_name,
i.name AS index_name,
ps.avg_fragmentation_in_percent,
ps.page_count
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'SAMPLED') ps
INNER JOIN sys.indexes i ON ps.object_id = i.object_id
AND ps.index_id = i.index_id
WHERE ps.avg_fragmentation_in_percent > 10
AND ps.page_count > 1000
ORDER BY ps.avg_fragmentation_in_percent DESC
Spusťte tento dotaz mimo špičku, protože může být náročný na zdroje.
Analýza hustoty stránek
Hustota stránek udává, jak plné jsou indexové stránky. Nízká hustota plýtvá místem a snižuje výkon:
SELECT
OBJECT_NAME(i.object_id) AS table_name,
i.name AS index_name,
ps.avg_page_space_used_in_percent
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'SAMPLED') ps
INNER JOIN sys.indexes i ON ps.object_id = i.object_id
AND ps.index_id = i.index_id
WHERE ps.avg_page_space_used_in_percent < 75
Rozhodnutí o reorganizaci vs. přestavbě
Vyberte operace údržby indexu na základě úrovně fragmentace:
- Fragmentace 10–30 %: Použijte ALTER INDEX REORGANIZE
- Fragmentace > 30 %: Použijte ALTER INDEX REBUILD
- Fragmentace < 10 %: Není třeba podnikat žádné kroky
Reorganizační operace vyžadují méně zdrojů a mohou probíhat online. Operace obnovy jsou důkladnější, ale spotřebovávají značné množství zdrojů.
11.3 Aktualizace statistik databáze
Nápověda ke statistikám databáze SQL ServerOptimalizátor dotazů vytváří efektivní plány provádění. Zastaralé statistiky vedou ke špatnému výkonu dotazů.
Automatické přestavování statistik
Povolit automatické aktualizace statistik:
ALTER DATABASE DatabaseName SET AUTO_UPDATE_STATISTICS ON ALTER DATABASE DatabaseName SET AUTO_CREATE_STATISTICS ON
Monitorování statistik zdraví
Zkontrolujte, kdy byly statistiky naposledy aktualizovány:
SELECT
OBJECT_NAME(s.object_id) AS TableName,
s.name AS StatisticsName,
STATS_DATE(s.object_id, s.stats_id) AS LastUpdated,
sp.rows,
sp.modification_counter
FROM sys.stats s
CROSS APPLY sys.dm_db_stats_properties(s.object_id, s.stats_id) sp
WHERE STATS_DATE(s.object_id, s.stats_id) < DATEADD(DAY, -7, GETDATE())
ORDER BY LastUpdated
Ruční aktualizace statistik v případě potřeby:
UPDATE STATISTICS TableName WITH FULLSCAN
11.4 Shromažďování vlastních dat o výkonu
Vytvořte si vlastní řešení pro monitorování výkonu přímým dotazováním sys.dm_os_performance_counters a ukládáním výsledků do tabulek.
Vytváření vlastních skriptů pro kolekce
Vytvořte uloženou proceduru pro shromažďování dat čítačů výkonu:
CREATE PROCEDURE dbo.CollectPerformanceCounters
AS
BEGIN
INSERT INTO dbo.PerformanceHistory (
SampleTime,
CounterName,
CounterValue
)
SELECT
GETDATE(),
counter_name,
cntr_value
FROM sys.dm_os_performance_counters
WHERE counter_name IN (
'Page life expectancy',
'Batch Requests/sec',
'Buffer cache hit ratio'
)
END
Používání sys.dm_os_performance_counters
Přímé dotazování čítačů výkonu:
SELECT
object_name,
counter_name,
instance_name,
cntr_value,
cntr_type
FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%Buffer Manager%'
ORDER BY counter_name
Ukládání historických dat
Vytvořte tabulku pro ukládání metrik výkonu v čase:
CREATE TABLE dbo.PerformanceHistory (
ID INT IDENTITY PRIMARY KEY,
SampleTime DATETIME2 NOT NULL,
PageLifeExpectancy BIGINT,
BatchRequestsPerSec DECIMAL(18,4),
BufferCacheHitRatio DECIMAL(5,2)
)
CREATE CLUSTERED COLUMNSTORE INDEX CCI_PerformanceHistory
ON dbo.PerformanceHistory
Metody pivotního ukládání dat
Ukládejte data v pivotovaném formátu s jedním řádkem na čas vzorkování a jedním sloupcem na čítač. To snižuje úložný prostor a zlepšuje výkon dotazů ve srovnání s ukládáním jednoho řádku na čítač na vzorek.
11.5 Monitorování více serverů
Pro prostředí s více SQL Server instance, implementujte centralizovaný monitoring.
Centralizovaný přístup k monitorování
- Vytvořte si vyhrazenou monitorovací databázi na samostatném serveru
- Shromažďovat data ze všech serverů do centrálního úložiště
- Použijte SQL Server Úlohy agenta pro spouštění skriptů pro shromažďování dat
- Implementace sběru čítačů výkonu přístupných ze sítě
Vzdálené monitorování serveru
Nakonfigurujte Sledování výkonu tak, aby shromažďovalo data ze vzdálených serverů, a to zadáním názvů serverů při přidávání čítačů. Zajistěte, aby pravidla brány firewall povolovala provoz Sledování výkonu.
Reporting napříč servery
Vytvářejte reporty, které porovnávají výkon napříč více servery a identifikují tak odchylky a nerovnováhu kapacity.
12. Monitorování SQL Server v cloudových prostředích
12.1 Monitorování databáze Azure SQL
Databáze Azure SQL nabízí vestavěné funkce monitorování, které se liší od místních systémů. SQL Server.
Integrace Azure Monitoru
Azure Monitor automaticky shromažďuje metriky z databáze Azure SQL, včetně:
- Využití DTU nebo vCore
- Skladování použití
- Statistiky připojení
- Zablokování a časové limity
Přístup k těmto metrikám získáte prostřednictvím rozhraní Azure Portal nebo Azure Monitor API.
Vestavěné monitorovací funkce
Databáze Azure SQL zahrnuje:
- Doporučení pro automatické ladění
- Přehled výkonu dotazů
- Inteligentní analýzy pro detekci anomálií
- Vestavěné upozornění a diagnostika
Přehled výkonu dotazů
Tato funkce poskytuje vizualizaci dotazů s nejvyšší spotřebou zdrojů, analýzu trvání dotazů a historické trendy výkonu. Přístup k ní získáte prostřednictvím portálu Azure Portal v rámci svého prostředku SQL Database.
12.2 Cloudové nativní monitorovací nástroje
Cloudové platformy nabízejí nativní monitorovací řešení optimalizovaná pro jejich prostředí:
- Azure Monitor a Application Insights pro databázi Azure SQL
- AWS CloudWatch pro RDS SQL Server
- Monitorování cloudu Google pro cloud SQL Server
Tyto nástroje se bezproblémově integrují s cloudovou infrastrukturou a poskytují jednotné monitorování napříč všemi cloudovými zdroji.
Monitorování hybridního prostředí
Pro hybridní nasazení zahrnující lokální i cloudové prostředí používejte nástroje, které podporují obě prostředí, jako je Redgate SQL Monitor, SolarWinds DPA, nebo vlastní řešení využívající centralizovaný sběr dat.
12.3 Rozdíly ve výkonu v cloudu
mrak SQL Server prostředí mají jedinečné vlastnosti:
Modely alokace zdrojů
Poskytovatelé cloudových služeb používají různé metody alokace zdrojů (DTU, vCores, bezserverové řešení), které ovlivňují interpretaci metrik výkonu. Pochopte omezení a charakteristiky vaší úrovně služeb.
Úvahy o škálování
Cloudová prostředí nabízejí možnosti dynamického škálování. Sledujte využití zdrojů a určete, kdy je třeba škálovat navýšit nebo snížit. Mnoho cloudových platforem nabízí automatické škálování na základě prahových hodnot výkonu.
13. Automatizace monitorování výkonu
13.1 SQL Server Práce agentů
Automatizujte sběr dat pomocí SQL Server Úlohy agentů pro konzistentní monitorování bez manuálního zásahu.
Plánovaný sběr dat
- V SSMS rozbalte SQL Server Činidlo
- Klepněte pravým tlačítkem myši Zaměstnání a zvolte Nová práce
- Pojmenujte úlohu (např. „Shromažďování metrik výkonu“)
- klikněte Kroky a přidat nový krok
- Nastavit typ na Skript Transact-SQL
- Zadejte skript pro sběr dat
- klikněte Jízdní řády a přidat rozvrh
- Nastavte frekvenci (např. každých 5 minut)
- klikněte OK vytvořit pracovní místo
Automatizovaný reporting
Vytvořte úlohy, které generují a odesílají e-mailem zaslané reporty o výkonu:
- Vytvořte uloženou proceduru, která generuje sestavy
- Použití Database Mail k odesílání reportů e-mailem
- Naplánujte spouštění úlohy denně nebo týdně
13.2 Automatizace PowerShellu
PowerShell poskytuje výkonné automatizační funkce pro SQL Server monitor výkonu.
Skripty pro shromažďování čítačů výkonu
$counters = @(
'\Processor(_Total)\% Processor Time',
'\Memory\Available MBytes',
'\PhysicalDisk(_Total)\Avg. Disk sec/Read'
)
$data = Get-Counter -Counter $counters -ComputerName 'SQLServer01'
$data.CounterSamples | Export-Csv 'C:\PerfLogs\counters.csv' -Append
Dotazy WMI
Použití WMI ke shromažďování dat o výkonu ze vzdálených serverů:
$cpu = Get-WmiObject Win32_Processor -ComputerName 'SQLServer01' $memory = Get-WmiObject Win32_OperatingSystem -ComputerName 'SQLServer01' Write-Host "CPU Usage: $($cpu.LoadPercentage)%" Write-Host "Available Memory: $([math]::Round($memory.FreePhysicalMemory/1MB,2)) GB"
Automatické upozornění
Vytvořte skripty PowerShellu, které kontrolují metriky a odesílají upozornění při překročení prahových hodnot:
$cpuThreshold = 80
$cpu = (Get-Counter '\Processor(_Total)\% Processor Time').CounterSamples.CookedValue
if ($cpu -gt $cpuThreshold) {
Send-MailMessage -To 'dba@company.com' -Subject 'High CPU Alert' `
-Body "CPU usage is $cpu%" -SmtpServer 'smtp.company.com'
}
13.3 Vytváření monitorovacích dashboardů
Vizualizujte data o výkonu pomocí interaktivních řídicích panelů pro lepší přehled.
Integrace Power BI
- Propojení Power BI s tabulkami s údaji o výkonu
- Vytvářejte vizualizace pro klíčové metriky
- Přidejte slicery pro časový rozsah a výběr serveru
- Publikování řídicích panelů do služby Power BI
- Konfigurace plánů automatické aktualizace
Vytváření dashboardů v reálném čase
Pomocí nástrojů jako Grafana nebo vlastních webových aplikací můžete vytvářet řídicí panely v reálném čase, které se přímo dotazují na DMV a čítače výkonu.
Vizualizace historických trendů
Vytvořte spojnicové grafy znázorňující trendy v čase pro:
- Využití procesoru
- Využití paměti
- Disk I/O
- Výkon dotazu
- Počet připojení
14. Případové studie a praktické příklady
14.1 Případová studie: Řešení tlaku na paměť
Identifikace příznaků
Produkce SQL Server zaznamenával pomalé doby odezvy na dotazy během špičky. Uživatelé si stěžovali na časové limity aplikací a snížený výkon.
Protianalýza
Zveřejněná data Performance Monitoru:
- Očekávaná životnost stránky klesla na 50 sekund (normální: >300)
- Poměr zásahů do mezipaměti klesl na 85 % (normální: >99 %)
- Hodnoty čekajících na udělení paměti se často zobrazovaly v hodnotách 5–10.
- Počet čtení z fyzického disku za sekundu výrazně vzrostl
Kroky rozlišení
- Kontrolovány SQL Server nastavení maximální paměti – zjistil jsem, že je nastaveno na výchozí (neomezené)
- Porovnání celkové paměti serveru a paměti cílového serveru – ukázalo se značný rozdíl
- Maximální paměť serveru je nakonfigurována tak, aby pro operační systém zbývalo 8 GB.
- Povoleno oprávnění „Uzamknout stránky v paměti“ pro SQL Server servisní účet
- Na serveru bylo přidáno dalších 32 GB RAM
- Monitorovaný výkon po dobu jednoho týdne – Očekávaná životnost stránky se stabilizovala nad 500 sekundami
Výsledek: Doba odezvy na dotazy se zlepšila o 60 %, stížnosti uživatelů ustaly a výkon aplikace se vrátil k normálu.
14.2 Případová studie: Optimalizace výkonu CPU
Identifikace příznaků
A SQL Server Během pracovní doby trvale vykazoval využití CPU nad 90 %, což způsobovalo pomalý výkon aplikací a frustraci uživatelů.
Protianalýza
Monitorování výkonu odhalilo:
- Průměrné využití procesoru v % bylo 92 % s častými výkyvy až do 100 %
- Délka fronty procesoru trvale nad 4 (server měl 8 jader)
- Počet kompilací SQL/s byl 25 % počtu dávkových požadavků/s (měl by být <10 %)
- Rekompilace SQL/s byly 15 % dávkových požadavků/s
Kroky rozlišení
- Použity DMV k identifikaci dotazů s nejvyšší spotřebou CPU
- Analyzované plány provedení pro identifikované dotazy
- Objeveno vícenásobné skenování velkých tabulek kvůli chybějícím indexům.
- Vytvořil vhodné indexy na základě doporučení z plánu realizace
- Identifikován dynamický SQL kód způsobující nadměrné kompilace.
- Upravený kód aplikace pro použití parametrizovaných dotazů
- Implementovaný plánovací průvodce pro problematické uložené procedury
- Aktualizované statistiky o často používaných tabulkách
Výsledek: Využití CPU kleslo během pracovní doby na průměrných 45 %. Doba provádění dotazů se zkrátila o 70 %. Výrazně se zlepšila i odezva aplikací.
14.3 Případová studie: Řešení úzkých míst v I/O operacích na disku
Identifikace příznaků
Uživatelé hlásili extrémně pomalou odezvu aplikace během načítání dat a večerního dávkového zpracování.
Protianalýza
Údaje o výkonu ukázaly:
- Průměrný čas zápisu na disku v sekundách překročil 45 ms na disku s protokolem transakcí.
- Průměrná délka fronty disku na datové jednotce je 12
- % času na disku zůstalo nad 95 % po dobu několika hodin během dávkových úloh
- Počet zápisů stránek/s byl mimořádně vysoký
Kroky rozlišení
- Ověřená nastavení paměti byla správná – nebyly zjištěny žádné problémy s pamětí.
- Analyzována konfigurace disku – nalezeny všechny soubory na stejné sadě vřeten
- Oddělené transakční protokoly na vyhrazené rychlé SSD disky
- Přesunuta tempdb na samostatné SSD disky
- Implementováno více datových souborů tempdb (jeden na jádro)
- Upgradované datové disky na konfiguraci SSD RAID 10
- Optimalizované dávkové úlohy pro použití menších transakčních dávek
- Přidány indexy pro snížení zbytečného prohledávání tabulek během dávkových operací
Výsledek: Průměrná doba zápisu na disk (s) klesla na 3 ms. Průměrná délka fronty disku byla pod 1. Doba dokončení dávkové úlohy se zkrátila o 75 %.
15. Budoucí trendy v SQL Server monitorování
15.1 Integrace umělé inteligence a strojového učení
Umělá inteligence a strojové učení se transformují SQL Server monitor výkonu.
Prediktivní analýza
Modely strojového učení předpovídají budoucí potřeby zdrojů na základě historických dat. Tyto systémy dokáží předpovídat:
- Kdy bude úložná kapacita vyčerpána
- Očekávané požadavky na CPU a paměť během špičky
- Snížení výkonu dotazů dříve, než to ovlivní uživatele
- Optimální časy pro údržbářské práce
Detekce anomálií
Nástroje založené na umělé inteligenci automaticky detekují neobvyklé vzorce v metrikách výkonu. Identifikují anomálie, které by lidští administrátoři mohli přehlédnout, a rozlišují mezi běžnými odchylkami a skutečnými problémy.
Automatická náprava
Samoopravné systémy automaticky řeší běžné problémy, když jsou detekovány:
- Restartujte služby, které byly zastaveny
- Přerozdělení zdrojů během špičkového zatížení
- Použití oprav hotfixů pro známé problémy
- Automatické obnovení fragmentovaných indexů
15.2 Vývoj cloudového monitorování
Monitorování cloudu se neustále vyvíjí s novými možnostmi.
Sjednocené monitorovací platformy
Moderní platformy poskytují viditelnost přes jedno skleněné dno na:
- Místní SQL Server instance
- Databáze hostované v cloudu
- Hybridní prostředí
- Výkon aplikace
- Metriky infrastruktury
Trendy pozorovatelnosti
Posun od monitorování k pozorovatelnosti zdůrazňuje:
- Pochopení chování systému z výstupů
- Korelace metrik, protokolů a trasování
- Hluboký vhled do distribuovaných systémů
- Diagnostika problémů v reálném čase
15.3 Samoopravitelné databázové systémy
Budoucnost SQL Server verze budou zahrnovat více autonomních funkcí.
Automatická optimalizace
Databáze se budou průběžně optimalizovat pomocí:
- Automatické vytváření a rušení indexů na základě pracovní zátěže
- Úprava nastavení konfigurace pro optimální výkon
- Transparentní přepisování neefektivních dotazů
- Dynamická správa alokace zdrojů
Inteligentní ladění
Pokročilé systémy se budou učit z výkonnostních vzorců a automaticky aplikovat doporučení pro ladění, čímž se sníží potřeba ručního zásahu správce databáze.
16. Závěr a klíčové poznatky
16.1 Shrnutí základních monitorovacích postupů
Efektivní SQL Server Monitor výkonu vyžaduje komplexní přístup kombinující nástroje, techniky a osvědčené postupy.
Shrnutí kritických čítačů
Zaměřte monitorovací úsilí na tyto základní čítače:
- Paměť: Očekávaná životnost stránky, poměr přístupů do mezipaměti vyrovnávací paměti, čekající na udělení paměťových grantů
- CPU: % procesorový čas, délka fronty procesoru
- Disk: Průměrný počet sekund disku/čtení a zápis, délka fronty disku
- SQL ServerDávkové požadavky/s, Kompilace/s, Uživatelská připojení
Shrnutí osvědčených postupů
- Stanovení základních hodnot během běžného provozu
- Nastavení inteligentních prahových hodnot upozornění na základě základních hodnot
- Pravidelně kontrolujte údaje o výkonu
- Režijní náklady na monitorování zůstatků s granularitou dat
- Uchovávejte dlouhodobá data pro analýzu trendů
- Pro každý scénář monitorování používejte vhodné nástroje
16.2 Přístup neustálého zlepšování
SQL Server Monitorování výkonu není jednorázová činnost, ale průběžný proces vyžadující neustálé zdokonalování.
Pravidelné kontrolní cykly
- Denně: Kontrola upozornění a aktuálního výkonu
- Týdenní: Prozkoumejte trendy a identifikujte vznikající problémy
- Měsíčně: Analyzujte dlouhodobé vzorce a kapacitní potřeby
- Čtvrtletně: Aktualizace výchozích hodnot a kontrola účinnosti monitorování
Udržujte si přehled o nástrojích
Udržujte nástroje a techniky monitorování aktuální:
- Vyhodnoťte nové monitorovací funkce v SQL Server aktualizace
- Testování nově vznikajících nástrojů třetích stran
- Účastněte se školení a konferencí
- Účastnit SQL Server Společenství
- Sdílejte znalosti s členy týmu
16.3 Další kroky
Nářadí SQL Server systematicky sledovat výkon:
Plán implementace
- Týden 1: Nastavení sledování výkonu se základními čítači
- Týden 2: Vytvořte sady sběračů dat pro automatizovaný sběr
- Týden 3: Stanovení základních hodnot během běžného provozu
- Týden 4: Konfigurace upozornění pro kritické prahové hodnoty
- Měsíc 2: Implementujte další monitorovací nástroje (DMV, rozšířené události)
- Měsíc 3: Vytvářejte vlastní dashboardy a reporty
- Pokračující: Zpřesněte monitorování na základě zkušeností a měnících se požadavků
Další zdroje
Pokračujte v učení o SQL Server Sledujte výkon prostřednictvím dokumentace společnosti Microsoft, komunitních blogů a praktických cvičení. Experimentujte s různými nástroji a technikami, abyste zjistili, co nejlépe funguje pro vaše prostředí.
17. Často kladené otázky (FAQ)
17.1 Co je nejdůležitější SQL Server čítače výkonu, které je třeba sledovat?
Nejkritičtější SQL Server Mezi čítače výkonu patří:
- Paměť: Očekávaná životnost stránky (měla by být >300 sekund) a poměr zásahů do mezipaměti vyrovnávací paměti (měla by být >99 %)
- CPU: % procesorového času (trvalé hodnoty <75 %) a délka fronty procesoru (měla by být <2 na jádro)
- Disk: Průměrná doba čtení a zápisu na disku v sekundách (měla by být <10–20 ms) a délka fronty disku (měla by být <2 na disk)
- SQL ServerDávkové požadavky/s, kompilace SQL/s a čekající paměťové granty (mělo by být 0)
Tyto čítače poskytují komplexní přehled o stavu systému a pomáhají rychle identifikovat úzká hrdla.
17.2 Jak často bych měl/a shromažďovat údaje o výkonnosti?
Četnost sběru dat závisí na vašich cílech monitorování:
- Monitorování základních hodnot: Každou 1 minutu (60 sekund)
- Aktivní odstraňování problémů: Každých 15–30 sekund po krátkou dobu
- Dlouhodobý trend: Každých 5 minut
Nespouštějte sběr dat s vysokou frekvencí nepřetržitě, protože to může ovlivnit výkon a generovat nadměrné množství dat. Delší intervaly používejte pro rutinní monitorování a kratší intervaly pouze při zkoumání specifických problémů.
17.3 Jaký je rozdíl mezi Monitorem výkonu a SQL Server Profiler?
Monitor výkonu a SQL Server Profilery slouží různým účelům:
Performance Monitor:
- Monitoruje systém a SQL Server čítače výkonu
- Sleduje využití zdrojů (CPU, paměť, disk)
- Nízké režijní náklady, vhodné pro nepřetržité monitorování
- Poskytuje agregované metriky v průběhu času
SQL Server profilovač:
- Stopy jednotlivce SQL Server události a dotazy
- Zachycuje podrobné informace o provádění dotazů
- Vyšší režie, nedoporučuje se pro nepřetržitý provoz
- Nejlepší pro řešení problémů se specifickými dotazy
- Zastaralé ve prospěch rozšířených událostí
Pro celkové monitorování systému použijte nástroj Performance Monitor a pro podrobnou analýzu na úrovni dotazů nástroj Extended Events (ne Profiler).
17.4 Dopad monitoru výkonu Can SQL Server výkon?
Při správné konfiguraci má Monitor výkonu minimální dopad na SQL Server výkon, obvykle méně než 2 % režijních nákladů. Nadměrné monitorování však může způsobit problémy:
- Příliš mnoho čítačů zvyšuje režijní náklady
- Velmi krátké intervaly vzorkování (méně než 15 sekund) zatěžují zdroje
- Nepřetržitý sběr dat s vysokou frekvencí generuje velké soubory protokolů
Pro minimalizaci dopadu:
- Sledujte pouze nezbytné čítače
- Používejte vhodné intervaly vzorkování (60 sekund pro rutinní monitorování)
- Ukládejte protokoly na disky odděleně od databázových souborů
- Naplánujte monitorování náročné na zdroje mimo špičku
17.5 Jak dlouho bych měl/a uchovávat data monitorování výkonu?
Uchovávání závisí na vašich analytických potřebách a úložné kapacitě:
- Minimální: 3 měsíce na řešení nedávných problémů
- Doporučená: 1–2 roky na plánování kapacity a analýzu trendů
- Optimální: Neomezeně dlouho, pokud to úložiště dovolí, protože historická data se časem stávají cennějšími.
Data čítačů výkonu se dobře komprimují a spotřebovávají relativně málo místa. Zvažte archivaci starších dat do samostatného úložiště, nikoli jejich mazání. Mnoho organizací zjišťuje, že roky historických dat se ukazují jako neocenitelné pro plánování kapacity a identifikaci dlouhodobých trendů.
17.6 Jaké jsou vhodné prahové hodnoty pro klíčové čítače výkonu?
Doporučené prahové hodnoty pro upozornění:
- Udělení paměti čeká na vyřízení: Upozornění, když > 0
- Životnost stránky: Upozornění při < 300 sekundách
- % Doba procesoru: Upozornění při > 80 % po dobu 5 minut
- Délka fronty procesoru: Upozornění při > 2 na jádro
- Průměrný čas disku (s)/čtení nebo zápis: Upozornění při > 20 ms
- Délka fronty disku: Upozornění, když je na disk více než 2
- Blokované procesy: Upozornit, když > 5
Upravte tyto prahové hodnoty na základě vašich základních dat a specifických charakteristik pracovní zátěže. Co je v jednom prostředí normální, může v jiném naznačovat problémy.
17.7 Jak mohu monitorovat SQL Server výkon na dálku?
Dálkový monitor SQL Server případy s použitím těchto metod:
- Performance Monitor: Při přidávání čítačů zadejte název vzdáleného počítače.
- PowerShell: Použití parametru -ComputerName s Get-Counter
- DMV: Připojení ke vzdáleným serverům prostřednictvím SSMS a dotazování DMV
- Nástroje třetích stran: Většina monitorovacích nástrojů podporuje vzdálené monitorování serverů
Ujistěte se, že pravidla firewallu povolují provoz nástroje Performance Monitor a že máte příslušná oprávnění na vzdáleném serveru. V případě více serverů zvažte implementaci centralizovaného monitorování s vyhrazeným monitorovacím serverem a databází.
17.8 Jaký je nejlepší bezplatný nástroj pro SQL Server monitor výkonu?
Pro monitorování je k dispozici několik vynikajících bezplatných nástrojů SQL Server výkon:
- Sledování výkonu systému Windows: Vestavěný, komplexní a spolehlivý
- Monitor aktivit SSMS: Monitorování v reálném čase bez nutnosti další instalace
- Rozšířené události: Vestavěné odlehčené monitorování událostí SQL Server
- sp_Kdo je aktivní: Oblíbená bezplatná uložená procedura pro detailní sledování aktivit
- Dash databáze: Open-source monitorovací nástroj s komplexními funkcemi
- SQLWATCH: Open source s možnostmi monitorování téměř v reálném čase
Pro většinu organizací poskytuje Performance Monitor v kombinaci s nástroji SSMS a sp_WhoIsActive vynikající možnosti monitorování bez dalších nákladů.
17.9 Jak exportuji data PerfMonu pro analýzu?
Exportujte data Monitoru výkonu pomocí těchto metod:
Exportovat do CSV:
- Otevřete Sledování výkonu s načteným souborem protokolu
- Klikněte pravým tlačítkem myši na graf a vyberte Uložit data jako
- Vybrat Textový soubor (oddělený čárkami) (.csv)
- Vyberte umístění a uložte
- Otevřít v Excelu pro analýzu
Použijte příkaz Relog:
relog input.blg -f csv -o output.csv
Tento nástroj příkazového řádku převádí binární soubory protokolů (.blg) do formátu CSV pro snazší analýzu v tabulkových aplikacích.
17.10 Kdy bych měl/a místo vestavěných možností použít monitorovací nástroje třetích stran?
Zvažte nástroje třetích stran, když:
- Správa velkého množství SQL Server instance (10+)
- Vyžaduje centralizovaný monitoring napříč více datovými centry
- Potřeba pokročilých funkcí, jako je prediktivní analýza nebo detekce anomálií
- Chtějí integrované upozornění se systémy pro správu incidentů
- Požadavek na podávání zpráv o shodě s předpisy a historickou analýzu
- Nedostatek zdrojů správce databází pro vytváření a údržbu vlastních řešení
- Monitorování heterogenních databázových prostředí (SQL Server, Oracle, MySQL atd.)
Vestavěné nástroje fungují dobře v menších prostředích nebo když máte zkušené správce databází, kteří dokáží vyvinout vlastní monitorovací řešení. Nástroje třetích stran poskytují hodnotu díky úsporám času, pokročilým funkcím a profesionální podpoře.
18. Další zdroje
18.1 Oficiální dokumentace
Společnost Microsoft poskytuje rozsáhlou dokumentaci k SQL Server monitor výkonu:
- SQL Server Dokumentace k monitoru výkonu: https://learn.microsoft.com/en-us/sql/relational-databases/performance-monitor/
- Dynamické pohledy na správu: https://learn.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/
- Rozšířené události: https://learn.microsoft.com/en-us/sql/relational-databases/extended-events/
- Úložiště dotazů: https://learn.microsoft.com/en-us/sql/relational-databases/performance/monitoring-performance-by-using-the-query-store
- Ladění a monitorování výkonu: https://learn.microsoft.com/en-us/sql/relational-databases/performance/
18.2 Doporučené nástroje a soubory ke stažení
Nezbytné nástroje pro SQL Server monitor výkonu:
- Nástroj PAL: https://github.com/clinthuffman/PAL
- sp_Kdo je aktivní: http://whoisactive.com/
- Dash databáze: https://dbadash.com/
- SQLWATCH: https://github.com/marcingminski/sqlwatch
- Sada pro záchranáře (Brent Ozar): https://www.brentozar.com/first-aid/
- SQL Server Management Studio: https://learn.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms
18.3 Zdroje komunity
Poučit se z SQL Server společenství:
- SQL Server Centrální: https://www.sqlservercentral.com/
- Blog Brenta Ozara: https://www.brentozar.com/blog/
- SQL chatka: https://www.sqlshack.com/
- Tipy pro MSSQL: https://www.mssqltips.com/
- Reddit r/SQLServer: https://www.reddit.com/r/SQLServer/
- přetečení zásobníku SQL Server tag: https://stackoverflow.com/questions/tagged/sql-server
Tyto zdroje poskytují návody, rady pro řešení problémů a osvědčené postupy od zkušených SQL Server profesionálové. Účast na komunitních fórech vám pomáhá učit se ze zkušeností ostatních a sdílet vlastní znalosti.
O autorovi
Yuan Sheng je seniorní správce databází (DBA) s více než 10 lety zkušeností v SQL Server prostředí a správu podnikových databází. Úspěšně vyřešil stovky scénářů obnovy databází ve finančních službách, zdravotnictví a výrobních organizacích.
Yuan se specializuje na SQL Server obnova databáze, řešení s vysokou dostupnostía optimalizaci výkonu. Jeho rozsáhlé praktické zkušenosti zahrnují správu databází o objemu více terabajtů, implementaci Vždy dostupné skupiny dostupnostia vývoj automatizovaných strategií zálohování a obnovy pro kritické obchodní systémy.
Díky svým technickým znalostem a praktickému přístupu se Yuan zaměřuje na vytváření komplexních průvodců, které pomáhají správcům databází a IT profesionálům řešit složité SQL Server efektivně zvládá výzvy. Udržuje si přehled o nejnovějších SQL Server vydání a vyvíjející se databázové technologie společnosti Microsoft a pravidelně testuje scénáře obnovy, aby zajistil, že jeho doporučení odrážejí osvědčené postupy z reálného světa.
Máte otázky ohledně SQL Server potřebujete další pokyny k odstraňování problémů s databází? Yuan vítá zpětnou vazbu a návrhy pro vylepšení těchto technických zdrojů.





























