Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Poradce pro ladění databázového stroje umožňuje optimalizovat databáze, řídit ladicí relace a zobrazovat doporučení pro ladění. Uživatelé s pokročilými znalostmi struktur fyzického návrhu mohou tento nástroj použít k provádění průzkumné analýzy ladění databáze. Začátečníci v ladění databází mohou také využít nástroj k nalezení nejlepší konfigurace struktur fyzického návrhu pro úlohy, které ladí. Tato lekce poskytuje základní praxi pro správce databáze, kteří jsou noví v používání grafického uživatelského rozhraní Poradce pro ladění databázového stroje, a pro správce systému, kteří nemusí mít rozsáhlé znalosti o strukturách fyzického návrhu.
Požadavky
K dokončení tohoto kurzu potřebujete SQL Server Management Studio, přístup k serveru, na kterém běží SQL Server, a k databázi AdventureWorks2025.
- Nainstalujte SQL Server Management Studio.
- Nainstalujte SQL Server 2017 Developer Edition.
- Stáhněte si ukázkovou databázi AdventureWorks.
Pokyny pro obnovení databází v nástroji SSMS najdete tady: Obnovení databáze.
Poznámka:
Tento kurz je určený pro uživatele, který je obeznámen s používáním aplikace SQL Server Management Studio a základními úlohami správy databáze.
Ladění úlohy
Poradce pro ladění databázového stroje lze použít k vyhledání nejlepšího fyzického návrhu databáze pro výkon dotazů u databází a tabulek, které vyberete pro ladění.
- Zkopírujte ukázkový příkaz SELECT a vložte ho do Editoru dotazů aplikace SQL Server Management Studio. Uložte soubor jako MyScript.sql v adresáři, kde ho snadno najdete. Níže je uveden příklad, který funguje s
AdventureWorks2025databází.
Use [AdventureWorks2022]; -- may need to modify database name to match database
GO
SELECT DISTINCT pp.LastName, pp.FirstName
FROM Person.Person pp JOIN HumanResources.Employee e
ON e.BusinessEntityID = pp.BusinessEntityID WHERE pp.BusinessEntityID IN
(SELECT SalesPersonID
FROM Sales.SalesOrderHeader
WHERE SalesOrderID IN
(SELECT SalesOrderID
FROM Sales.SalesOrderDetail
WHERE ProductID IN
(SELECT ProductID
FROM Production.Product p
WHERE ProductNumber = 'BK-M68B-42')));
GO
Spusťte Database Engine Tuning Advisor. V nabídce Nástroje v aplikaci SQL Server Management Studio (SSMS) vyberte Poradce pro ladění databáze. Další informace naleznete v tématu Spuštění poradce pro ladění databázového stroje. Připojte se k SQL Serveru v dialogovém okně Připojit k serveru .
Na kartě Obecné v pravém podokně grafického uživatelského rozhraní Advisoru pro ladění databázového stroje zadejte MySession do pole Název relace.
Vyberte Soubor pro úlohu a výběrem ikony binokulárních souborů vyhledejte soubor úlohy. Vyhledejte soubor MyScript.sql , který jste uložili v kroku 1.
- Vyberte
AdventureWorks2025v seznamu Databáze pro analýzu úloh , vyberteAdventureWorks2025v části Vybrat databáze a tabulky, které chcete vyladit mřížku, a vyberte Uložit protokol ladění. Databáze pro analýzu úloh určuje první databázi, ke které se poradce pro ladění databázového stroje připojí při ladění úlohy. Po zahájení ladění se Poradce pro ladění databázového stroje připojí k databázím určeným příkazyUSE DATABASEobsaženými v úloze.
- Klikněte na kartu Možnosti ladění . V tomto cvičení nenastavíte žádné možnosti ladění, ale chvíli si projděte výchozí možnosti ladění. Stisknutím klávesy F1 zobrazíte nápovědu pro tuto stránku s kartami. Kliknutím na Upřesnit možnosti zobrazíte další možnosti ladění. V dialogovém okně Upřesnit možnosti ladění klepněte na tlačítko Nápověda, kde najdete informace o možnostech ladění, které jsou tam zobrazeny. Kliknutím na tlačítko Storno zavřete dialogové okno Upřesnit možnosti ladění a ponechte vybrané výchozí možnosti.
Na panelu nástrojů klikněte na tlačítko Spustit analýzu. Zatímco Poradce pro ladění databázového stroje analyzuje úlohu, můžete sledovat stav na kartě Průběh . Po dokončení ladění se zobrazí karta Doporučení .
Pokud se zobrazí chyba týkající se data a času zastavení ladění, zkontrolujte na hlavní kartě Možnosti ladění čas pro Zastavit. Ujistěte se, že datum a čas Zastavit jsou pozdější než aktuální datum a čas, a v případě potřeby je změňte.
- Po dokončení analýzy uložte doporučení jako Transact-SQL skript kliknutím na Uložit doporučení v nabídce Akce . V dialogovém okně Uložit jako přejděte do adresáře, do kterého chcete uložit skript doporučení, a zadejte název souboru MyRecommendations.
Zobrazení doporučení pro ladění
Na kartě Doporučení použijte posuvník v dolní části stránky s kartami a zobrazte všechny sloupce Doporučení indexu . Každý řádek představuje databázový objekt (indexy nebo indexovaná zobrazení), který nástroj Advisor pro ladění databázového stroje doporučuje vynechat nebo vytvořit. Posuňte se k nejpravnějšímu sloupci a klikněte na definici. Poradce pro ladění databázového stroje zobrazí okno náhledu skriptu SQL, ve kterém můžete zobrazit skript Transact-SQL, který na daném řádku vytvoří nebo odstraní databázový objekt. Kliknutím na tlačítko Zavřít zavřete okno náhledu.
Pokud máte potíže s vyhledáním definice obsahující odkaz, kliknutím zrušte zaškrtnutí políčka Zobrazit existující objekty v dolní části stránky s kartami, čímž se sníží počet zobrazených řádků. Když zrušíte zaškrtnutí tohoto políčka, Poradce pro ladění databázového stroje zobrazí pouze objekty, pro které vygeneroval doporučení. Zaškrtnutím políčka Zobrazit existující objekty zobrazíte všechny databázové objekty, které v databázi aktuálně existují
AdventureWorks2025. Pomocí posuvníku na pravé straně stránky s kartami zobrazte všechny objekty.
- Klikněte pravým tlačítkem myši na mřížku v podokně Doporučení indexu . Tato kontextová nabídka umožňuje vybrat a zrušit výběr doporučení. Umožňuje také změnit písmo textu mřížky.
V nabídce Akce klikněte na Uložit doporučení a uložte všechna doporučení do jednoho Transact-SQL skriptu. Pojmenujte skript MySessionRecommendations.sql.
Otevřete skript MySessionRecommendations.sql v Editoru dotazů aplikace SQL Server Management Studio a zobrazte ho. Doporučení můžete použít u
AdventureWorks2025ukázkové databáze spuštěním skriptu v Editoru dotazů, ale ne. Zavřete skript v Editoru dotazů, aniž byste ho spustili.Jako alternativu můžete doporučení použít také kliknutím na Použít doporučení v nabídce Akce poradce pro ladění databázového stroje, ale tato doporučení nyní v tomto cvičení nepoužijete.
Pokud na kartě Doporučení existuje více než jedno doporučení, vymažte některé řádky, které uvádějí databázové objekty v mřížce Doporučení indexu .
V nabídce Akce klikněte na Vyhodnotit doporučení. Poradce pro ladění databázového stroje vytvoří novou relaci ladění, ve které můžete vyhodnotit podmnožinu původních doporučení z mySession.
Zadejte EvaluateMySession pro nový název relace a klikněte na tlačítko Spustit analýzu na panelu nástrojů. Můžete opakovat kroky 2 a 3 pro tuto novou relaci ladění, abyste zobrazili její doporučení.
Shrnutí
Možná bude nutné vyhodnotit část doporučení pro ladění, pokud zjistíte, že musíte změnit možnosti ladění po spuštění relace. Pokud například požádáte Poradce pro ladění databázového stroje, aby při zadávání možností ladění relace zvažoval indexovaná zobrazení, ale po vygenerování doporučení se rozhodnete nepoužít indexovaná zobrazení. Potom můžete pomocí možnosti Vyhodnotit doporučení v nabídce Akce přehodnotit relaci pomocí poradce pro ladění databázového stroje bez zohlednění indexovaných zobrazení. Pokud použijete možnost Vyhodnotit doporučení, dříve vygenerovaná doporučení se hypoteticky aplikují na aktuální fyzický návrh, aby vytvořila fyzický návrh pro druhé sezení ladění.
Více informací o výsledcích ladění můžete zobrazit na záložce Sestavy, která je popsána v dalším úkolu této lekce.
Zobrazení sestav ladění
Ačkoli je prospěšné prohlédnout si skripty, které lze využít k implementaci výsledků ladění, Poradce pro ladění databázového stroje nabízí také mnoho přínosných sestav k zobrazení. Tyto sestavy poskytují informace o existujících strukturách fyzického návrhu v databázi, kterou ladíte, a o doporučených strukturách. Sestavy ladění můžete zobrazit kliknutím na kartu Sestavy, jak je popsáno v následující praxi.
Vyberte kartu Sestavy v Poradci pro ladění databáze.
V podokně Souhrn ladění můžete zobrazit informace o tomto sezení ladění. Pomocí posuvníku můžete zobrazit veškerý obsah podokna. Všimněte si očekávaného procentuálního zlepšení a prostoru používaného doporučením. Při nastavování možností ladění je možné omezit prostor používaný doporučením. Na kartě Možnosti ladění vyberte Upřesnit možnosti. Zkontrolujte možnost Definovat maximální velikost místa pro doporučení a zadejte v megabajtech maximální prostor, který může konfigurace doporučení použít. Pomocí tlačítka Zpět v prohlížeči nápovědy se vraťte k tomuto kurzu.
V podokně Sestavy ladění klikněte v seznamu Vybrat sestavu na Sestavu nákladů na výpis. Pokud potřebujete více místa pro prohlížení sestavy, posuňte hranici podokna Sledování relací doleva. Každý příkaz Transact-SQL, který se provádí v tabulce ve vaší databázi, má přidružené náklady na výkon. Tyto náklady na výkon je možné snížit vytvořením efektivních indexů u často přístupných sloupců v tabulce. Tato sestava ukazuje odhadované procento zlepšení mezi původními náklady na provedení příkazu v úloze a náklady, pokud je doporučení pro optimalizaci provedeno. Všimněte si, že množství informací obsažených v sestavě vychází z délky a složitosti úlohy.
V oblasti mřížky klikněte pravým tlačítkem myši na podokno Sestava nákladů výkazu a klikněte na Exportovat do souboru. Uložte sestavu jako sestavu MyReport. K názvu souboru se automaticky připojí přípona .xml. V oblíbeném editoru XML nebo v aplikaci SQL Server Management Studio můžete otevřít MyReport.xml a zobrazit obsah sestavy.
Vraťte se na kartu Sestavy v Advisoru pro ladění databázového stroje a znovu klikněte na sestavu výkazu nákladů . Projděte si další dostupné možnosti. Všimněte si, že můžete změnit písmo zprávy, kterou prohlížíte. Změna písma zde také změní na ostatních stránkách s kartami.
Chcete-li se s nimi seznámit, klikněte na další sestavy v seznamu Vybrat sestavu.
Shrnutí
Nyní jste prozkoumali kartu Sestavy grafického uživatelského rozhraní nástroje Database Engine Tuning Advisor pro ladicí relaci MySession. Stejné kroky můžete použít k prozkoumání sestav, které byly vygenerovány pro ladicí relaci EvaluateMySession. Začněte dvojkliknutím na EvaluateMySession v podokně Sledování sezení.