Sdílet prostřednictvím


Poradce pro ladění databázového stroje

platí pro:SQL Server

Poradce pro ladění databázového stroje Microsoftu (DTA) analyzuje databáze a poskytuje doporučení, která můžete použít k optimalizaci výkonu dotazů. Pomocí Poradce pro ladění databázového stroje můžete vybrat a vytvořit optimální sadu indexů, indexovaných zobrazení nebo oddílů tabulky, aniž byste měli odborné znalosti o struktuře databáze nebo interních informacích SQL Serveru. Pomocí DTA můžete provádět následující úlohy:

  • Řešení potíží s výkonem konkrétního dotazu na problém

  • Ladění velké sady dotazů napříč jednou nebo více databázemi

  • Provedení průzkumné co-kdyby analýzy potenciálních změn fyzického návrhu

  • Správa prostoru úložiště

Poznámka:

Poradce pro ladění databázového stroje není podporovaný pro Azure SQL Database ani Azure SQL Managed Instance. Místo toho zvažte strategie doporučené v Monitorování a ladění výkonu ve službě Azure SQL Database a azure SQL Managed Instance. Informace o službě Azure SQL Database najdete také v doporučeních k výkonu Database Advisoru pro službu Azure SQL Database.

Výhody Database Engine Tuning Advisor

Optimalizace výkonu dotazů může být obtížná, aniž byste plně porozuměli struktuře databáze a dotazům, které se spouštějí v databázi. Poradce pro ladění databázového stroje (DTA) může tento úkol usnadnit analýzou aktuální mezipaměti plánu dotazů nebo analýzou pracovního zatížení dotazů Transact-SQL, které vytvoříte, a doporučením vhodného fyzického návrhu. Pro pokročilejší správce databází DTA zpřístupňuje výkonný mechanismus pro provádění průzkumné co když analýzy různých možností návrhu fyzických struktur. DTA může poskytnout následující informace.

  • Doporučte nejlepší kombinaci indexů rowstore a columnstore pro databáze pomocí optimalizátoru dotazů k analýze dotazů v úloze.

  • Doporučte zarovnané nebo nezarovnané oddíly pro databáze používané v pracovní zátěži.

  • Doporučte indexovaná zobrazení pro databáze odkazované v úloze.

  • Analyzujte účinky navrhovaných změn, včetně využití indexu, distribuce dotazů mezi tabulky a výkonu dotazů v úloze.

  • Doporučte způsoby, jak vyladit databázi pro malou sadu problémových dotazů.

  • Umožňuje přizpůsobit doporučení zadáním pokročilých možností, jako jsou omezení místa na disku.

  • Navrhněte zprávy, které shrnují dopad implementace doporučení pro danou úlohu.

  • Zvažte alternativy, ve kterých poskytnete možné volby návrhu ve formě hypotetických konfigurací pro Poradce pro ladění databázového stroje.

  • Ladění úloh z různých zdrojů, mezi které patří úložiště dotazů SQL Serveru, mezipaměť plánů, trasovací soubor nebo tabulka nástroje SQL Server Profiler nebo . Soubor SQL.

Poradce pro ladění databázového stroje je navržený tak, aby zpracovával následující typy úloh dotazů:

  • Pouze dotazy na online zpracování transakcí (OLTP)

  • Pouze dotazy OLAP (Online Analytical Processing)

  • Smíšené dotazy OLTP a OLAP

  • Úlohy náročné na dotazy (více dotazů než úpravy dat)

  • Úlohy náročné na aktualizace (více úprav dat než dotazy)

Komponenty a koncepty DTA

Grafické uživatelské rozhraní Advisoru pro ladění databázového stroje
Snadno použitelné rozhraní, ve kterém můžete určit úlohu a vybrat různé možnosti ladění.

dta utilita
Verze příkazového řádku Poradce pro ladění databázového stroje. Nástroj dta je navržen tak, aby umožňoval používat funkce Advisoru pro ladění databázového stroje v aplikacích a skriptech.

workload
Soubor skriptu Transact-SQL, trasovací soubor nebo tabulka trasování, která obsahuje reprezentativní úlohu pro databáze, které chcete ladit. Počínaje SQL Serverem 2012 (11.x) můžete jako úlohu zadat mezipaměť plánu. Počínaje SQL Serverem 2016 (13.x) můžete jako úlohu zadat úložiště dotazů.

Vstupní soubor XML
Soubor ve formátu XML, který může poradce pro ladění databázového stroje použít k ladění úloh. Vstupní soubor XML podporuje pokročilé možnosti ladění, které nejsou k dispozici v grafickém uživatelském rozhraní nebo nástroji dta .

Limitace a omezení

Poradce pro ladění databázového stroje má následující omezení a restrikce.

  • Nemůže přidávat ani odstraňovat jedinečné indexy nebo indexy, které vynucují omezení PRIMARY KEY nebo UNIQUE.

  • Nemůže analyzovat databázi, která je nastavená na režim jednoho uživatele.

  • Pokud zadáte maximální povolené místo na disku pro doporučení ladění, které překračuje skutečné dostupné místo, použije Poradce pro ladění databázového stroje vámi zadanou hodnotu. Když však spustíte skript doporučení, který ho implementuje, může skript selhat, pokud se nejprve nepřidá více místa na disku. Maximální místo na disku lze zadat pomocí možnosti -B nástroje dta nebo zadáním hodnoty v dialogovém okně Upřesnit možnosti ladění .

  • Z bezpečnostních důvodů nemůže Poradce pro ladění databázového stroje vyladit úlohu v tabulce trasování, která se nachází na vzdáleném serveru. Pokud chcete toto omezení obejít, můžete místo tabulky trasování použít trasovací soubor nebo zkopírovat trasovací tabulku na vzdálený server.

  • Pokud vynutíte omezení, jako jsou například omezení při zadání maximálního místa na disku pro doporučení pro ladění (pomocí -B nebo dialogového okna Upřesnit možnosti ladění ), může být poradce pro ladění databázového stroje nuceni vyřadit určité existující indexy. V takovém případě může doporučení Database Engine Tuning Advisoru mít za následek očekávané zhoršení.

  • Pokud zadáte omezení pro omezování času ladění (pomocí možnosti -A s nástrojem dta nebo zaškrtnutím Omezit čas ladění na kartě Možnosti ladění), může Poradce pro ladění databázového stroje překročit tento časový limit, aby byl vytvořen přesný očekávaný přínos a analýza sestav pro jakoukoli část pracovní zátěže zpracovanou dosud.

  • Poradce pro ladění databázového stroje nemusí za následujících okolností provádět doporučení:

    1. Laděná tabulka obsahuje méně než 10 datových stránek.

    2. Doporučené indexy by nenabízely dostatečné zlepšení výkonu dotazů oproti aktuálnímu návrhu fyzické databáze.

    3. Uživatel, který spouští Database Engine Tuning Advisor, není členem databázové role db_owner nebo role pevného serveru sysadmin. Dotazy v úloze se analyzují v kontextu zabezpečení uživatele, který spouští Poradce pro ladění databázového stroje. Uživatel musí být členem role databáze db_owner.

  • Poradce pro ladění databázového msdb stroje ukládá data relace ladění a další informace v databázi. Pokud dojde ke změnám v msdb databázi, může dojít ke ztrátě dat ladicí relace. Pokud chcete toto riziko odstranit, implementujte pro databázi odpovídající strategii msdb zálohování.

Důležité informace o výkonu

Nástroj Database Engine Tuning Advisor může během analýzy využívat významné prostředky procesoru a paměti. Pokud se chcete vyhnout zpomalení produkčního serveru, postupujte podle jedné z těchto strategií:

  • Vylaďte databáze, když je váš server volný. Poradce pro ladění databázového stroje může ovlivnit výkon úloh údržby.

  • Použijte funkci testovacího serveru nebo produkčního serveru. Další informace naleznete v tématu Snížení zatížení ladění produkčního serveru.

  • Zadejte pouze struktury návrhu fyzické databáze, které má poradce pro ladění databázového stroje analyzovat. Poradce pro ladění databázového stroje nabízí mnoho možností, ale určuje pouze ty, které jsou nezbytné.

Závislost na rozšířené uložené proceduře xp_msver

Poradce pro ladění databázového stroje závisí na rozšířené uložené proceduře xp_msver, aby poskytl úplnou funkčnost. Tato rozšířená uložená procedura je ve výchozím nastavení zapnutá. Poradce pro ladění databázového stroje používá tuto rozšířenou uloženou proceduru k načtení počtu procesorů a dostupné paměti v počítači, kde se nachází databáze, kterou ladíte. Pokud xp_msver není k dispozici, funkce Advisor pro ladění databázového stroje předpokládá hardwarové charakteristiky počítače, na kterém je spuštěn nástroj Advisor pro ladění databázového stroje. Pokud hardwarové charakteristiky počítače, na kterém je spuštěn nástroj Advisor pro ladění databázového stroje, nejsou dostupné, předpokládá se jeden procesor a 1024 megabajtů paměti.

Tato závislost ovlivňuje doporučení k dělení, protože počet doporučených oddílů závisí na těchto dvou hodnotách (počet procesorů a dostupná paměť). Závislost také ovlivňuje výsledky ladění při použití testovacího serveru k ladění produkčního serveru. V tomto scénáři používá Nástroj pro ladění databázového stroje xp_msver k načtení hardwarových vlastností z produkčního serveru. Po ladění úlohy na testovacím serveru použije Poradce pro ladění databázového stroje tyto vlastnosti hardwaru k vygenerování doporučení. Další informace najdete v tématu xp_msver (Transact-SQL).

Úlohy Advisoru pro ladění databázového stroje

Následující tabulka uvádí běžné úlohy Advisoru pro ladění databázového stroje a články popisující jejich provedení.

Úloha Advisoru pro ladění databázového stroje Článek
Inicializujte a spusťte poradce pro ladění databázového stroje

Vytvořte úlohu zadáním mezipaměti plánu, vytvořením skriptu nebo generováním trasovacího souboru nebo tabulky trasování.

Vylaďte databázi pomocí nástroje grafického uživatelského rozhraní Database Engine Tuning Advisor.

Vytvořte vstupní soubory XML pro ladění úloh.

Zobrazení popisu možností uživatelského rozhraní Advisoru pro ladění databázového stroje
Spuštění a použití Advisoru pro ladění databázového stroje
Prohlédněte si výsledky operace ladění databáze.

Vyberte a implementujte doporučení pro ladění.

Proveďte průzkumnou "what-if" analýzu pro pracovní zátěž.

Kontrola existujících relací ladění, klonování relací na základě existujících relací
nebo upravte stávající doporučení pro ladění pro další vyhodnocení nebo implementaci.

Zobrazení popisu možností uživatelského rozhraní Advisoru pro ladění databázového stroje
Zobrazení a práce s výstupy z nástroje Poradce pro ladění databázového enginu