Doporučení k výkonu služby Database Advisor pro Azure SQL Database

Platí pro:Azure SQL Database

Azure SQL Database se učí a přizpůsobuje se vaší aplikaci. Azure SQL Database má řadu databázových poradců, kteří poskytují přizpůsobená doporučení, která vám umožní maximalizovat výkon. Tito poradci pro databáze nepřetržitě vyhodnocují a analyzují historii využití a poskytují doporučení na základě vzorů úloh, které pomáhají zlepšit výkon.

Přehled výkonu

Přehled výkonu na webu Azure Portal poskytuje souhrn výkonu databáze a pomáhá vám s laděním výkonu a řešením potíží.

  • Pokud je k dispozici, dlaždice Doporučení poskytuje rozpis doporučení ladění pro vaši databázi. Výběrem této dlaždice přejdete na možnosti doporučení k výkonu.
  • Dlaždice Aktivity ladění poskytuje souhrn probíhajících a dokončených akcí ladění pro vaši databázi a poskytuje rychlý přehled historie aktivity ladění. Výběrem této dlaždice přejdete do historie doporučení a ladění databáze. Další informace najdete v tématu automatické ladění.
  • Dlaždice Automatické ladění zobrazuje konfiguraci automatického ladění pro vaši databázi (možnosti ladění, které se automaticky použijí pro vaši databázi). Výběrem této dlaždice otevřete dialogové okno konfigurace automatizace. Další informace o automatickém ladění indexů databáze a plánů spouštění dotazů najdete v tématu automatické ladění.
  • Dlaždice Databázové dotazy zobrazuje souhrn výkonu dotazů pro vaši databázi (celkové využití DTU a dotazy s nejvyšším využitím prostředků). Výběrem této dlaždice přejdete do nástroje Query Performance Insight.
  • Výchozí graf poskytuje souhrnný přehled o posledních 24 hodinách databázové aktivity s možnostmi přiblížení k novější aktivitě. Skládané pruhové grafy analyzují nejčastější dotazy podle procesoru a víceřádkový graf představuje úlohy podle procesoru, vstupně-výstupních operací dat a vstupně-výstupních operací protokolů. Vyberte jednotlivé skládané pruhy v grafu, z nichž každý představuje plán dotazů uložený v mezipaměti. Ponořte se na stránku Query Performance Insight a identifikujte nejnákladnější dotazy ve vaší úloze. Další informace najdete v tématu Přehledy výkonu dotazů.

V navigační nabídce webu Azure Portal pro vaši databázi Azure SQL přejděte na stránku Přehled výkonu v části Inteligentní výkon .

Screenshot from the Azure portal of the Performance Overview for Azure SQL Database.

Možnosti doporučení k výkonu

Možnosti doporučení k výkonu dostupné ve službě Azure SQL Database jsou:

Doporučení k výkonu Podpora jednoúčelové databáze a databáze ve fondu Podpora databáze instancí
Vytváření doporučení indexů – doporučuje vytváření indexů, které můžou zlepšit výkon vašich úloh. Yes No
Doporučení k vyřazení indexů – doporučuje denně odebrat redundantní a duplicitní indexy s výjimkou jedinečných indexů a indexů, které nebyly použity po dlouhou dobu (>90 dnů). Upozorňujeme, že tato možnost není kompatibilní s aplikacemi používajícími přepínání oddílů a nápovědy indexu. Vyřazení nepoužívaných indexů není podporováno pro úrovně služeb Premium a Pro důležité obchodní informace. Yes No
Parametrizace doporučení dotazů (Preview) – Doporučuje vynucené parametrizace v případech, kdy máte jeden nebo více dotazů, které se neustále rekompiují, ale končí stejným plánem provádění dotazů. Yes No
Oprava doporučení k problémům se schématem (Preview) – Doporučení pro opravu schématu se zobrazí, když azure SQL Database zaznamená anomálii v počtu chyb SQL souvisejících se schématem, ke kterým dochází ve vaší databázi. Microsoft v současné době vypisuje doporučení opravit problém se schématem. Yes No

A screenshot from the Azure portal showing sample performance recommendations for Azure SQL Database.

Pokud chcete použít doporučení k výkonu, podívejte se na použití doporučení. Pokud chcete zobrazit stav doporučení, podívejte se na operace monitorování.

Můžete také najít kompletní historii akcí ladění, které byly použity v minulosti.

Vytvoření doporučení indexu

Azure SQL Database nepřetržitě monitoruje spuštěné dotazy a zjišťuje, jaké indexy by mohly zlepšit výkon. Jakmile bude dostatek jistoty, že chybí určitý index, vytvoří se nové doporučení k vytvoření indexu .

Azure SQL Database vytváří jistotu odhadem výkonu, který by index přinesl v čase. Doporučení se řadí do tří kategorií podle odhadovaného nárůstu výkonu: vysoký, střední a nízký.

Indexy, které jsou vytvořené na základě doporučení, jsou vždy označené jako automaticky vytvořené indexy. Automaticky vytvořené indexy si můžete prohlédnout v zobrazení sys.indexes. Automaticky vytvořené indexy neblokují příkazy ALTER/RENAME.

Pokud se pokusíte odstranit sloupec s automaticky vytvořeným indexem, příkaz se předá. Automaticky vytvořený index se také zahodí pomocí příkazu. Běžné indexy blokují příkaz ALTER/RENAME u sloupců, které jsou indexovány.

Po použití doporučení k vytvoření indexu porovná Azure SQL Database výkon dotazů se základním výkonem. Pokud nový index zvýší výkon, doporučení se označí jako úspěšné a sestava dopadu je k dispozici. Pokud index nezlepší výkon, automaticky se vrátí. Azure SQL Database používá tento proces k zajištění lepšího výkonu databáze.

Doporučení k vytvoření indexu mají back-off zásadu, která nepovoluje použití doporučení, pokud je využití prostředků databáze nebo fondu vysoké. Zásady zálohování berou v úvahu využití procesoru, vstupně-výstupních operací dat, vstupně-výstupních operací protokolů a dostupné úložiště.

Pokud je využití procesoru, vstupně-výstupních operací dat nebo vstupně-výstupních operací protokolu v předchozích 30 minutách vyšší než 80 %, odloží se doporučení k vytvoření indexu. Pokud bude dostupné úložiště po vytvoření indexu nižší než 10 %, doporučení přejde do chybového stavu. Pokud po několika dnech automatické ladění stále věří, že index by byl přínosný, proces se znovu spustí.

Tento proces se opakuje, dokud není k dispozici dostatek úložiště k vytvoření indexu, nebo dokud se index už nebude považovat za přínosný.

Doporučení k vyřazení indexu

Kromě zjišťování chybějících indexů služba Azure SQL Database nepřetržitě analyzuje výkon stávajících indexů. Pokud se index nepoužívá, doporučí Azure SQL Database jeho odstranění. Index se doporučuje odstranit ve dvou případech:

  • Jde o duplicitní index k jinému indexu (stejný indexovaný a zahrnutý sloupec, schéma oddílu a filtry).
  • Index se po delší dobu nepoužíval (>90 dní).

Doporučení indexu také procházejí ověřením po implementaci. Pokud se výkon zlepší, je k dispozici sestava dopadu. Pokud se výkon zhorší, je doporučení vzato zpět.

Parametrizace doporučení pro dotazy (Preview)

Doporučení k parametrizaci dotazů se zobrazí, pokud máte jeden nebo více dotazů, které se neustále rekompilují, ale končí stejným plánem provádění dotazů. Tato podmínka vytvoří příležitost k použití vynucené parametrizace. Vynucené parametrizace zase umožňuje ukládání plánů dotazů do mezipaměti a opakované použití v budoucnu, což zlepšuje výkon a snižuje využití prostředků.

Každý dotaz musí být zpočátku zkompilován tak, aby vygeneroval plán provádění. Každý vygenerovaný plán se přidá do mezipaměti plánu. Následné spuštění stejného dotazu může tento plán znovu použít z mezipaměti, což eliminuje potřebu další kompilace.

Dotazy s neparametrizovanými hodnotami mohou vést k režii výkonu, protože plán spuštění se překompiluje vždy, když se neparametrizované hodnoty liší. V mnoha případech stejné dotazy s různými hodnotami parametrů generují stejné plány spuštění. Tyto plány se ale stále přidávají do mezipaměti plánu samostatně.

Proces překompilování plánů spuštění používá databázové prostředky, prodlužuje dobu trvání dotazu a přetéká mezipaměť plánu. Tyto události zase způsobují vyřazení plánů z mezipaměti. Toto chování lze změnit nastavením možnosti vynucené parametrizace v databázi.

Abychom vám pomohli odhadnout dopad tohoto doporučení, zobrazí se porovnání skutečného využití procesoru a předpokládaného využití procesoru (jako by se použilo doporučení). Toto doporučení vám může pomoct dosáhnout úspor procesoru. Může vám také pomoct zkrátit dobu trvání dotazů a režii pro mezipaměť plánu, což znamená, že větší část plánů může zůstat v mezipaměti a znovu ji používat. Toto doporučení můžete rychle použít tak, že vyberete příkaz Použít .

Po použití tohoto doporučení povolí vynucené parametrizace během několika minut v databázi. Spustí proces monitorování, který trvá přibližně 24 hodin. Po tomto období se zobrazí sestava ověření. Tato sestava ukazuje využití procesoru databáze 24 hodin před a po použití doporučení. Azure SQL Database Advisor má bezpečnostní mechanismus, který automaticky vrátí použité doporučení, pokud byla zjištěna regrese výkonu.

Oprava doporučení k problémům se schématem (Preview)

Důležité

Microsoft v současné době vypisuje doporučení opravit problém se schématem. Doporučujeme použít inteligentní Přehledy ke sledování problémů s výkonem databáze, včetně problémů se schématem, které dříve zahrnovala doporučení Opravit problém se schématem.

Oprava doporučení k problémům se schématem se zobrazí, když azure SQL Database zaznamená anomálii v počtu chyb SQL souvisejících se schématem, ke kterým dochází ve vaší databázi. Toto doporučení se obvykle zobrazí, když databáze během hodiny zaznamená několik chyb souvisejících se schématem (neplatný název sloupce, neplatný název objektu atd.).

Problémy se schématem jsou třídou chyb syntaxe. K nim dochází v případě, že definice dotazu SQL a definice schématu databáze nejsou zarovnané. Například jeden ze sloupců očekávaných dotazem může v cílové tabulce chybět nebo naopak.

Doporučení Opravit problém se schématem se zobrazí, když azure SQL Database zaznamená anomálii v počtu chyb SQL souvisejících se schématem, ke kterým dochází ve vaší databázi. V následující tabulce jsou uvedeny chyby související s problémy se schématem:

Kód chyby SQL Message
201 Procedura nebo funkce '' očekává parametr '', který nebyl zadán.
207 Neplatný název sloupce *.
208 Neplatný název objektu *.
213 Název sloupce nebo počet zadaných hodnot neodpovídá definici tabulky.
2812 Uložená procedura *nebyla nalezena.
8144 Procedura nebo funkce * má zadaných příliš mnoho argumentů.

Vlastní aplikace

Vývojáři můžou zvážit vývoj vlastních aplikací s využitím doporučení k výkonu pro Azure SQL Database. Všechna doporučení uvedená na portálu pro databázi jsou přístupná prostřednictvím rozhraní API Get-AzSqlDatabaseRecommendedAction .

Další kroky