Jednou z nejkritičtějších proměnných pro výkon databáze je fragmentace indexů SQL. Pokud není úroveň fragmentace vhodně řízena, můžeme se setkat s blokováním, deadlocky, problémy s IO, problémy s rozlitím disku. Může to také vést k nesprávnému plánu provádění také.

DMV

V SQL Serveru můžeme použít DMV sys.dm_db_index_physical_stats, pomocí kterého získáme informace o úrovni fragmentace indexů, počtech stránek a typech indexů.

SSMS

Můžeme také použít vestavěné sestavy SQL Serveru ‚Index Physical Statistics‘ v SSMS

Získáme indexovou fyzickou statistiku pro databázi v následujícím formátu.

Tento report můžeme spustit pouze na úrovni databáze, a pokud máme v instanci více databází a mnoho instancí, které musíme spravovat, stává se shromažďování podrobností, analýza stavu na základě našeho prahového stavu a následné rozhodnutí o obnově nebo reorganizaci indexu SQL časově i zdrojově náročným úkolem.

Vlastní skripty

Pro zjišťování a opravu problémů s fragmentací můžeme použít i vlastní skripty, ale i to je složitý proces, který je třeba vytvořit a výsledky analyzovat ručně. Možná budeme chtít mít všechny tyto informace na centralizovaném místě a poté rozhodnout o politice údržby indexů. K odstranění úrovně fragmentace můžeme použít příkazy Alter Index. U malých databází nás počty stránek při obnově indexu příliš nezajímají, u velkých databází je však musíme brát v úvahu také.

Nástroje třetí strany

Pomocí nástroje ApexSQL Defrag můžeme snadno sledovat, analyzovat a odstraňovat stávající fragmentaci indexu SQL. V grafickém nástroji můžeme spravovat více instancí a databází. Z tohoto nástroje získáme následující výhody.

  • Poskytuje grafické uživatelské rozhraní pro sledování a analýzu fragmentace indexů
  • Můžeme provádět údržbu indexů pro všechny instance a databáze SQL Serveru
  • Poskytuje způsob konfigurace vlastních sestav na základě našich požadavků
  • Můžeme konfigurovat zásady pro kontrolu a provádění úloh údržby indexů podle vlastních metrik
  • Můžeme analyzovat (rychlou nebo hlubokou) fragmentaci indexů, nastavit faktor zaplnění, online údržbu indexů
  • Můžeme připravit reporty v požadovaných formátech (CSV nebo HTML)

Jakmile nainstalujete nástroj ApexSQL Defrag a nakonfigurujete instanci k monitorování, rychle zobrazí podrobnosti o stavu fragmentace indexů SQL.

Pokud to není nutné, měli bychom se vyhnout operacím obnovy nebo reorganizace indexů SQL. Pokud máme velmi rozsáhlé indexy, může analýza trvat dlouho a zabere více systémových prostředků. ApexSQL Defrag nabízí možnost kontroly fragmentace.

  • Omezeno: V tomto režimu kontroly SQL Server shromažďuje omezené informace o fragmentaci. Nezpůsobuje žádné problémy s výkonem systému. Jedná se o výchozí režim v ApexSQL Defrag
  • Vzorkovaný: V tomto režimu se vezme vzorek části indexu SQL a shromáždí se informace o fragmentaci
  • Podrobné:

Podobně můžeme nastavit úroveň fragmentace v kategorii Vysoká, Střední a Nízká

Pro analýzu indexů můžete také nastavit svůj vyhraněný práh fragmentace.

Jakmile jsme analyzovali sadu výsledků, klikněte pravým tlačítkem myši na konkrétní index SQL a můžete mít na výběr více možností.

  • Analyzovat (rychle)
  • Analyzovat (do hloubky)
  • Reorganizovat\Rebuildovat\Rebuildovat online
  • Nastavit faktor naplnění
  • Můžeme pozastavit, zastavit nebo zrušit, pokud pro daný index běží nějaká úloha. To je užitečné, pokud vidíme nějaké problémy s výkonem nebo blokování kvůli určitému indexu, můžeme tuto úlohu zrušit sami

ApexSQL Defrag umožňuje vytvářet zásady z předdefinovaných šablon nebo podle vlastních parametrů. Šablona je také vhodná pro většinu požadavků na defragmentaci indexů SQL

Pomocí těchto šablon můžeme rozhodnout o defragmentaci všech indexů nebo indexů na základě prahové úrovně v offline nebo online režimu. Například chci vytvořit zásadu Přebudovat online 50 % nejfragmentovanějších indexů nad 30 % nebo reorganizovat, pokud je fragmentace vyšší než 10 %.

Můžeme také nakonfigurovat prahovou hodnotu zdrojů týkající se CPU, zatížení paměti, využití protokolu transakcí a aktivních transakcí. Tuto úroveň kontroly nad údržbou indexů pomocí úloh průvodce údržbou nebo vlastních skriptů nezískáme.

Pokud je prostředek obsazen, můžeme nastavit také časování opakování. S požadavky jsem se setkal u některých uživatelů, kteří nechtějí provádět údržbu po skončení jejich hubeného období používání databáze. Pokud provádíme údržbu, musíme úlohu zastavit ručně nebo musíme vytvořit další úlohu agenta SQL, která úlohu údržby indexů v určitém čase zastaví.

ApexSQL Defrag poskytuje režii pro konfiguraci a monitorování více úloh. Můžeme přizpůsobit zrušení úlohy údržby indexu po ‚N‘ hodinách.

Na výše uvedeném snímku obrazovky vidíte, že můžeme dále přizpůsobit operaci údržby indexu SQL také podle úrovně fragmentace, velikosti indexu a počtu stránek. Zpoždění uzamčeného objektu můžete definovat podle konkrétní doby. Někdy chceme vyloučit index, u kterého máme počty stránek indexu menší nebo větší než zadané počty.

Změny můžete provést a nakonfigurovat jako šablonu pro opakované použití. Jakmile provedeme údržbu indexu, na kartě Činnosti získáte vynikající přehled o statistikách fragmentace indexu před údržbou a po ní. Je důležité vědět, zda je úroveň fragmentace indexu po údržbě pod kontrolou, nebo ne. Obvykle musíme úroveň fragmentace zachytit znovu, ale tato informace nám ušetří režii.

V části Reporty můžeme zobrazit reporty z úrovně serveru, celkový report.

Můžeme také získat pěkný přehled o 10 nejlepších clusterovaných a neclusterovaných indexech, stejně jako

Zajímá nás také chování procesoru a paměti během probíhající údržby indexů. Tyto užitečné informace můžeme získat a sledovat také systémové prostředky.

Všechny sestavy můžeme exportovat a nastavit možnost exportu. Při zkoumání můžeme chtít získat jen omezené informace. ApexSQL Defrag dává možnost zvolit, jaké informace chceme zobrazit, například grafy, statistiky, statistické grafy indexů SQL, které chceme zahrnout do sestavy.

Závěr:

Nástroj ApexSQL Defrag usnadňuje DBA administrativní úkoly s lepším sledováním a údržbou indexů SQL. Veškeré informace získáte v grafickém nástroji s vlastními vizualizacemi, zásadami spolu s různými informativními přehledy.

admin

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.

lg