Ladění dotazů pomocí Pomocníka pro ladění dotazů (QTA)

Dokončeno

Rozhodnete se použít úložiště dotazů k monitorování výkonu databáze před migrací a porovnání těchto dat s výkonem po upgradu. Plánujete použít Pomocníka pro ladění dotazů (QTA) k vyhledání dotazů s nižším výkonem a navržení vylepšení. Tato lekce popisuje kroky použití úložiště dotazů a QTA k udržení výkonu dotazů.

Vzhledem k tomu, že databázové aplikace jsou kritické systémy, které podporují provoz firmy, musíte mít akční plán a plán nepředvídaných událostí pro upgrade. Upgradujte základní produkční databáze po jednom. Určete testovací plán upgradovaných databází, abyste měli jistotu, že je každá databáze v produkčním prostředí bez jakýchkoli problémů, než upgradujete ostatní.

Úložiště dotazů můžete použít k nepřetržitému monitorování výkonu dotazů a testování A/B k měření dopadů změny, jako je upgrade databáze. QTA poskytuje automatickou podporu po upgradu za účelem vyhledání a opravy dotazů s nižším výkonem na základě dat zachycených v úložišti dotazů.

Aby QTA fungovala správně, musíte použít následující kroky v pořadí.

Důležité

Ujistěte se, že používáte produkční aplikační databázi nebo jednu s úlohou aplikace, která úzce odpovídá vaší produkční databázové úloze, aby úložiště dotazů mohlo shromáždit reálné metriky pro dotazy.

  1. Migrujte databázi na SQL Server 2022.
  2. Úroveň kompatibility ponechte beze změny na předchozí verzi SQL Serveru.
  3. Povolte úložiště dotazů v databázi.
  4. Nechte úložiště dotazů shromažďovat základní metriky pro dotazy na základě dostatečné reálné aktivity uživatelů.
  5. Upgradujte úroveň kompatibility na SQL Server 2022 (160).
  6. Úložiště dotazů znovu nechte shromažďovat data o dotazech na základě dostatečné reálné aktivity uživatelů.
  7. Pomocí QTA můžete porovnat výkon dotazů před a po změně úrovně kompatibility databáze. Pokud jsou nalezeny dotazy s nižším přenosem dat, identifikujte opravy.

Migrace databáze

Až budete připraveni přejít na SQL Server 2022, začněte migrací databáze do nové instance. Migrace se dá provést několika způsoby. Můžete třeba jednoduše použít zálohu a obnovení, můžete použít zrcadlení databáze nebo hromadné načtení (bulkload). Nejvhodnější volba závisí na konfiguraci vašeho aktuálního prostředí a na verzi SQL Serveru, ze které migrujete. Služba Azure Data Migration Service (DMS) je dobrým řešením, protože podporuje databáze z SQL Serveru 2005 dále.

Poznámka:

Azure DMS také podporuje migrace databází do služby Azure SQL Managed Instance. Začněte pomocí rozšíření migrace Azure SQL pro Azure Data Studio.

Nechejte úroveň kompatibility beze změny.

Po migraci databáze ponechte úroveň kompatibility beze změny. Tento krok je kritický, protože chcete směrný plán měřit pomocí aktuální konfigurace databáze. Dokud nepřesunete úroveň kompatibility na SQL Server 2014 (120) nebo vyšší, SQL Server použije starší verzi nástroje pro posouzení kardinality. SQL Server 2014 zavedl upgradovaný estimátor kardinality, který využívá většinu dotazů, ale může mít zřídka negativní dopad na výkon.

Povolení úložiště dotazů

I když úroveň kompatibility databáze zůstává na předchozí verzi, můžete v databázi povolit úložiště dotazů, protože úložiště dotazů je funkce na úrovni serveru. Povolení úložiště dotazů:

  1. V aplikaci SQL Server Management Studio (SSMS) klikněte pravým tlačítkem myši na databázi a vyberte Vlastnosti.
  2. V okně Vlastnosti databáze vyberte úložiště dotazů v levém podokně.
  3. Nastavte režim operace (požadováno) jen pro čtení nebo čtení zápisu.
  4. Vyberte OK.

Případně můžete spuštěním následujícího příkazu povolit úložiště dotazů ve výchozím READ WRITE režimu:

ALTER DATABASE <database-name> SET QUERY_STORE = ON

Umožnit úložišti dotazů shromažďovat data

Přepněte migrovanou databázi zpět do produkčního prostředí a přepněte všechna připojení k databázi z aplikací nebo sestav. Databáze začne přijímat dotazy z produkčních aplikací. Umožňuje, aby úložiště dotazů běžela dostatečně dlouho, aby shromáždilo realistickou úlohu v databázi.

Úložiště dotazů by mělo zaznamenat typický cyklus obchodní aktivity, včetně pracovní doby, nočního zpracování, časových období údržby a dalších aktivit. U mnoha firem stačí týdenní aktivita, ale u některých firem může být tato doba kratší nebo delší.

Mnoho firem má velké obchodní cykly, a proto jedinečnou činnost pro biweekly mzdy nebo měsíční zpracování. Měli byste vědět o načasování obchodních cyklů, které vaše databáze mají. U obchodu s potravinami pokrývá týdenní skladový a skladový cykly většinu databázových aktivit.

Shromážděná data můžete zobrazit procházením karet Úložiště dotazů. Pokud chcete zobrazit karty, rozbalte v nástroji SSMS Průzkumník objektů strom databáze, aby se zobrazilo úložiště dotazů. Jakmile budete spokojeni s tím, že se shromáždí dostatek dat, můžete naplánovat upgrade.

Upgrade úrovně kompatibility

Před provedením jakékoli změny databáze je vhodné databázi zálohovat mimo pracovní dobu, pokud je to možné. Po provedení zálohování upgradujte úroveň kompatibility následujícím způsobem:

  1. Klikněte pravým tlačítkem myši na databázi v aplikaci SSMS Průzkumník objektů a zvolte Vlastnosti.
  2. V okně Vlastnosti databáze vyberte kartu Možnosti.
  3. Změňte úroveň kompatibility na SQL Server 2022 (160) a vyberte OK.

Alternativně můžete spustit následující příkaz:

ALTER DATABASE <database-name> SET COMPATIBILITY_LEVEL = 160

Umožnit úložišti dotazů dál shromažďovat data

Po upgradu databáze a obnovení aplikací se úložiště dotazů bude dál spouštět na pozadí a shromažďovat metriky pro dotazy. Dotazy jsou nyní vystaveny potenciálním problémům z důvodu nového nástroje pro posouzení kardinality, který optimalizátor dotazů používá.

Pokračujte ve spouštění úložiště dotazů a povolte mu shromažďování dat po stejnou dobu jako před upgradem. Regrese dotazů se ale může zobrazit okamžitě, takže můžete okamžitě provést nápravu jakýchkoli problémů s výkonem.

Spuštění Pomocníka pro ladění dotazů

Spusťte QTA a vyřešte všechny dotazy s nižším přenosem dat. Konfigurace QTA:

  1. Klikněte pravým tlačítkem myši na databázi v aplikaci SSMS Průzkumník objektů a vyberte Úlohy>upgrade>nové relace upgradu databáze.
  2. Na obrazovce Nastavení Průvodce laděním dotazů zadejte dobu trvání úlohy (dny) pro zachycení a úroveň kompatibility cílové databáze.
  3. Výběrem možnosti Další nakonfigurujete obrazovky Nastavení a Ladění.
  4. Vyberte Dokončit.

Pokud chcete monitorovat QTA, klikněte pravým tlačítkem myši na název databáze a vyberte Relace monitorování upgradu>databáze úlohy>. QTA zobrazí souhrnnou sestavu hlavních dotazů s nižším výkonem a porovná zjištěná data se základními. Pak můžete zobrazit změny, které QTA doporučuje pro ladění dotazů, u kterých došlo ke snížení výkonu.

Shrnutí

Pomocí QTA po upgradu databáze vyhledejte a opravte dotazy, které se v důsledku upgradu vrátí. Aby mohl pomocník pro ladění dotazů (QTA) najít dotazy s nižším výkonem, musíte napřed v úložišti dotazů vytvořit základní data tím, že změříte dotazy na staré úrovni kompatibility.

Úložiště dotazů pak shromažďuje metriky po upgradu, které můžete použít s QTA k porovnání nového výkonu se směrným plánem. Operace QTA je zásadní, aby úložiště dotazů shromáždilo data před upgradem a po něm.

Když QTA identifikuje dotazy s nižším výkonem, experimentuje s hledáním nejlepších akcí pro zlepšení výkonu. Tyto akce pak můžete použít.