Sdílet prostřednictvím


Lekce 2: Použití Poradce pro ladění databázového stroje

platí pro:SQL Server

Poradce pro ladění databázového systému vám pomůže ladit databáze, spravovat 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ází, kteří jsou nováčky v grafickém uživatelském rozhraní Database Engine Tuning Advisor, a pro správce systému, kteří nemusí mít rozsáhlé znalosti o návrhových strukturách fyzického prostředí.

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.

Pokyny k obnovení databází v nástroji SSMS najdete v tématu Obnovení zálohy databáze pomocí aplikace SSMS.

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í pracovní zátěže

Pomocí Poradce pro ladění databázového stroje vyhledejte nejlepší fyzický návrh databáze pro výkon dotazů u databází a tabulek, které vyberete pro ladění.

  1. Zkopírujte ukázkový příkaz SELECT příkladů 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. Příklad, který funguje s AdventureWorks databází, je uveden v následujícím kódu.

    USE [AdventureWorks2022];
    GO
    
    -- Might need to modify database name to match database
    SELECT DISTINCT pp.LastName,
                    pp.FirstName
    FROM Person.Person AS pp
         INNER JOIN HumanResources.Employee AS 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 AS p
                WHERE ProductNumber = 'BK-M68B-42')));
    

    Snímek obrazovky s příkazem Uložit dotaz SQL

  2. 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 .

  3. Na kartě Obecné v grafickém uživatelském rozhraní na pravé straně Database Engine Tuning Advisor zadejte MySession v poli název relace.

  4. Vyberte Soubor pro úlohu a výběrem ikony binokulárních souborů vyhledejte soubor úlohy. MyScript.sql Vyhledejte soubor, který jste uložili v kroku 1.

    Snímek obrazovky s možností Najít dříve uložený skript

  5. Vyberte AdventureWorks2025 v seznamu Databáze pro analýzu úloh , vyberte AdventureWorks2025 v čá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říkazy USE DATABASE obsaženými v úloze.

    Snímek obrazovky s možnostmi DTA pro databázi

  6. Vyberte kartu Možnosti ladění . Pro tento postup 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. Pokud chcete zobrazit další možnosti ladění, vyberte Upřesnit možnosti . V dialogovém okně Upřesnit možnosti ladění vyberte nápovědu, kde najdete informace o možnostech ladění, které jsou tam zobrazeny. Výběrem možnosti Zrušit zavřete dialogové okno Upřesnit možnosti ladění a ponecháte vybrané výchozí možnosti.

    Snímek obrazovky s možnostmi ladění DTA

  7. Na panelu nástrojů vyberte 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.

    Snímek obrazovky se spuštěním analýzy DTA

  8. Po dokončení analýzy uložte doporučení jako Transact-SQL skript výběrem možnosti 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 MyRecommendationssouboru .

    Snímek obrazovky s doporučeními uložit DTA

Zobrazení doporučení pro ladění

  1. 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ý vám Poradce pro ladění databázového stroje doporučuje odstranit nebo vytvořit. Posuňte se k pravému sloupci a vyberte 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. Výběrem možnosti Zavřít zavřete okno náhledu.

    Pokud máte potíže s vyhledáním definice , která obsahuje odkaz, zrušte zaškrtnutí políčka Zobrazit existující objekty v dolní části stránky s kartami. Tato akce snižuje 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.

    Snímek obrazovky s doporučením indexu DTA

  2. 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.

    Snímek obrazovky s nabídkou výběru pro doporučení indexu

  3. V nabídce Akce vyberte Uložit doporučení a uložte všechna doporučení do jednoho Transact-SQL skriptu. Pojmenujte skript MySessionRecommendations.sql.

    MySessionRecommendations.sql Otevřete skript v Editoru dotazů aplikace SQL Server Management Studio a zobrazte ho. Doporučení můžete použít u AdventureWorks2025 ukázkové databáze spuštěním skriptu v Editoru dotazů, ale nedělejte to. Zavřete skript v Editoru dotazů, aniž byste ho spustili.

    Jako alternativu můžete doporučení použít také tak, že v nabídce Akce poradce pro ladění databázového stroje vyberete Možnost Použít doporučení, ale tato doporučení teď v tomto cvičení nepoužijete.

  4. 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 .

  5. V nabídce Akce vyberte Vyhodnotit doporučení. Poradce pro ladění databázového stroje vytvoří novou relaci ladění, kde můžete vyhodnotit podmnožinu původních doporučení z MySession.

  6. Zadejte EvaluateMySession nový název relace a na panelu nástrojů vyberte tlačítko Spustit analýzu . Opakujte kroky 2 a 3 pro tuto novou relaci ladění a podívejte se na její doporučení.

Shrnutí

Možná budete muset vyhodnotit podmnožinu doporučení pro ladění, pokud zjistíte, že musíte změnit možnosti ladění po spuštění relace. Můžete například požádat 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í.

Pomocí možnosti Vyhodnotit doporučení v nabídce Akce znovu vyhodnoťte relaci prostřednictvím 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 použijí na aktuální fyzický návrh tak, aby se dostaly k fyzickému návrhu pro druhou relaci ladění.

Další informace o výsledcích vyladění můžete zobrazit na kartě Sestavy, která je popsána v dalším úkolu této lekce.

Zobrazení sestav ladění

I když je užitečné zobrazit skripty, které implementují výsledky ladění, poskytuje Advisor pro ladění databázového stroje také mnoho užitečných sestav, které můžete zobrazit. 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í zobrazíte kliknutím na kartu Reports.

  1. Vyberte kartu Sestavy v Poradci pro ladění databáze.

  2. 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í můžete 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.

    Snímek obrazovky se souhrnem ladění DTA

  3. V podokně Ladění sestav vyberte Sestava nákladů výpisu v seznamu Vybrat sestavu. 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. Snižte tyto náklady na výkon 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. Množství informací obsažených v sestavě vychází z délky a složitosti úlohy.

    Snímek obrazovky se sestavou DTA – výkaz nákladů

  4. V oblasti mřížky klikněte pravým tlačítkem myši na podokno Sestava nákladů výkazu a vyberte Exportovat do souboru. Uložte sestavu jako MyReport. K názvu souboru se automaticky připojí přípona .xml. Můžete otevřít MyReport.xml v oblíbeném editoru XML nebo v aplikaci SQL Server Management Studio a zobrazit tak obsah sestavy.

  5. 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. Můžete změnit písmo sestavy, kterou si prohlížíte. Změna písma zde také změní na ostatních stránkách s kartami.

  6. Vyberte další sestavy ze seznamu Vybrat sestavy, abyste se s nimi lépe seznámili.

Shrnutí

Prozkoumali jste kartu Sestavy v grafickém uživatelském rozhraní Poradce pro ladění databázového stroje během relace ladění. Stejným postupem lze prozkoumat sestavy, které byly vygenerovány pro ladicí relaci EvaluateMySession. Začněte dvojkliknutím na EvaluateMySession v podokně Sledování sezení.

Další krok