Megosztás:


2. lecke: Az adatbázismotor hangolási tanácsadó használata

A következőkre vonatkozik:SQL Server

Az adatbázismotor finomhangolási tanácsadója segít az adatbázisok finomhangolásában, a hangolási munkamenetek kezelésében és a hangolási javaslatok megtekintésében. A fizikai tervezési struktúrákkal jártos felhasználók ezzel az eszközzel feltáró adatbázis-finomhangolási elemzést végezhetnek. Az adatbázis hangolásában kezdők is használhatják az eszközt, hogy megtalálják a legjobb konfigurációt az általuk hangolt számítási feladatok fizikai tervezési struktúráihoz. Ez a lecke alapvető gyakorlatot nyújt az adatbázis-rendszergazdák számára, akik még nem ismerik az Adatbázismotor-finomhangolási tanácsadó grafikus felhasználói felületét, valamint azoknak a rendszergazdáknak, akik esetleg nem ismerik a fizikai tervezési struktúrákat.

Előfeltételek

Az oktatóanyag elvégzéséhez az SQL Server Management Studióra, az SQL Servert futtató kiszolgálóhoz való hozzáférésre és egy AdventureWorks2025-adatbázisra van szüksége.

Az adatbázisok SSMS-ben való visszaállításával kapcsolatos utasításokért lásd: Adatbázis biztonsági mentésének visszaállítása SSMS használatával.

Megjegyzés:

Ez az oktatóanyag olyan felhasználók számára készült, akik ismerik az SQL Server Management Studiót és az alapvető adatbázis-felügyeleti feladatokat.

Feladat hangolása

Az adatbázismotor finomhangolási tanácsadója segítségével megtalálhatja a legjobb fizikai adatbázis-kialakítást a lekérdezési teljesítményhez a finomhangoláshoz kiválasztott adatbázisokon és táblákon.

  1. Másolja ki a SELECT mintautasítást , és illessze be az utasítást az SQL Server Management Studio Lekérdezésszerkesztőbe. Mentse a fájlt MyScript.sql egy könyvtárba, ahol könnyen megtalálhatja. Az alábbi kódban egy példa található, amely az AdventureWorks adatbázissal működik.

    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')));
    

    Képernyőkép az SQL-lekérdezés mentéséről.

  2. Indítsa el a Database Engine Tuning Advisor alkalmazást. Válassza az Adatbázis-finomhangolási tanácsadó lehetőséget az SQL Server Management Studio (SSMS) Eszközök menüjében. További információ: Launch Database Engine Tuning Advisor. Csatlakozzon az SQL Serverhez a Csatlakozás kiszolgálóhoz párbeszédpanelen.

  3. Az Adatbázismotor-finomhangolási tanácsadó grafikus felhasználói felületének jobb oldali paneljének Általános lapján írja be MySession a Munkamenet neve mezőbe.

  4. Válassza a Fájl lehetőséget a Számítási feladathoz, és válassza a távcső ikont a számítási feladat fájljának tallózásához. Keresse meg az MyScript.sql 1. lépésben mentett fájlt.

    Képernyőkép a korábban mentett szkript megkereséséről.

  5. Válassza AdventureWorks2025 ki az Adatbázis a számítási feladatok elemzéséhez listában, válassza AdventureWorks2025 az Adatbázisok és táblák kiválasztása lehetőséget a rács finomhangolásához , és válassza a Hangolási napló mentése lehetőséget. A számítási feladatok elemzéséhez használható adatbázis megadja az első adatbázist, amelyhez az adatbázismotor-finomhangolási tanácsadó csatlakozik a számítási feladatok finomhangolása során. A finomhangolás megkezdése után az Adatbázismotor finomhangolási tanácsadója a számítási feladatban található USE DATABASE utasítások által megadott adatbázisokhoz csatlakozik.

    Képernyőkép a db DTA-beállításairól.

  6. Válassza a Hangolási beállítások lapot. Ehhez a gyakorlathoz nem állít be hangolási beállításokat, de szánjon egy kis időt az alapértelmezett hangolási beállítások áttekintésére. Nyomja le az F1 billentyűt a lap súgójának megtekintéséhez. Válassza a Speciális beállítások lehetőséget a további hangolási beállítások megtekintéséhez. A Speciális finomhangolási beállítások párbeszédpanelen válassza a Súgó lehetőséget az ott látható hangolási beállításokkal kapcsolatos információkért. A Mégse gombra kattintva zárja be a Speciális hangolási beállítások párbeszédpanelt, és hagyja meg az alapértelmezett beállításokat.

    Képernyőkép a DTA hangolási beállításairól.

  7. Válassza az Elemzés indítása gombot az eszköztáron. Bár az adatbázismotor-finomhangolási tanácsadó elemzi a számítási feladatot, a Folyamat lapon figyelheti az állapotot. Ha a hangolás befejeződött, megjelenik a Javaslatok lap.

    Ha hibaüzenetet kap a hangolási leállítás dátumával és időpontjával kapcsolatban, ellenőrizze a Leállítás idején időpontot a fő hangolási beállítások lapon. Győződjön meg arról, hogy a Leállítás idején megadott dátum és idő előrébb van, mint az aktuális dátum és idő, és szükség esetén módosítsa azokat.

    Képernyőkép a DTA-elemzés indításáról.

  8. Az elemzés befejezése után mentse a javaslatot Transact-SQL szkriptként a Műveletek menü Javaslatok mentése parancsával. A Mentés másként párbeszédpanelen lépjen arra a könyvtárra, ahová menteni szeretné a javaslati szkriptet, és írja be a fájl nevét MyRecommendations.

    Képernyőkép a DTA-javaslatok mentéséről.

Hangolási javaslatok megtekintése

  1. A Javaslatok lapon a lap alján található görgetősáv használatával tekintheti meg az indexelési javaslatok összes oszlopát. Minden sor egy adatbázis-objektumot (indexet vagy indexelt nézetet) jelöl, amelyet az Adatbázismotor-finomhangolási tanácsadó javasolt elvetni vagy létrehozni. Görgessen a jobb szélső oszlophoz, és válasszon egy Definíciót. A Database Engine Tuning Advisor megjelenít egy SQL Script Preview ablakot, ahol megtekintheti az adatbázis-objektumot létrehozó vagy elvető Transact-SQL szkriptet az adott sorban. Kattintson a Bezárás gombra az előnézeti ablak bezárásához.

    Ha nehezen talál egy hivatkozást tartalmazó definíciót, törölje a lap alján található Meglévő objektumok megjelenítése jelölőnégyzet jelölését. Ez a művelet csökkenti a megjelenített sorok számát. Ha törli ezt a jelölőnégyzetet, az Adatbázismotor finomhangolási tanácsadója csak azokat az objektumokat jeleníti meg, amelyekhez ajánlást hozott létre. Jelölje be a Meglévő objektumok megjelenítése jelölőnégyzetet az adatbázisban jelenleg létező AdventureWorks2025 összes adatbázis-objektum megtekintéséhez. Az összes objektum megtekintéséhez használja a lap jobb oldalán található görgetősávot.

    Képernyőkép a DTA indexjavaslatáról.

  2. Kattintson a jobb gombbal a rácsra az Indexjavaslatok panelen. Ez a jobb gombbal kattintó menü lehetővé teszi a javaslatok kijelölését és kijelölésének törlését. Lehetővé teszi a rácsszöveg betűtípusának módosítását is.

    Képernyőkép az indexjavaslat kiválasztási menüjéről.

  3. A Műveletek menüBen válassza a Javaslatok mentése lehetőséget, ha az összes javaslatot egy Transact-SQL szkriptbe szeretné menteni. Nevezze el a szkriptet MySessionRecommendations.sql.

    Nyissa meg a MySessionRecommendations.sql szkriptet az SQL Server Management Studio Lekérdezésszerkesztőjében annak megtekintéséhez. A javaslatokat a mintaadatbázisra alkalmazhatja úgy AdventureWorks2025 , hogy végrehajtja a szkriptet a Lekérdezésszerkesztőben, de ne tegye ezt. Zárja be a szkriptet a Lekérdezésszerkesztőben anélkül, hogy futtatta volna.

    Alternatív megoldásként a Javaslatok alkalmazása lehetőséget választva is alkalmazhatja a javaslatokat az Adatbázismotor-finomhangolási tanácsadó Műveletek menüjében, de ebben a gyakorlatban most ne alkalmazza ezeket a javaslatokat.

  4. Ha több javaslat is létezik a Javaslatok lapon, törölje az adatbázis-objektumokat listázó sorok némelyikét az Indexjavaslatok rácson.

  5. A Műveletek menüben válassza a Javaslatok kiértékelése lehetőséget. A Database Engine Tuning Advisor létrehoz egy új hangolási munkamenetet, amelyben kiértékelheti az eredeti javaslatok MySessionegy részét.

  6. Írja be EvaluateMySession az új munkamenet nevét, és válassza az Elemzés indítása gombot az eszköztáron. Ismételje meg a 2. és a 3. lépést az új hangolási munkamenethez a javaslatok megtekintéséhez.

Összefoglalás

Előfordulhat, hogy ki kell értékelnie a hangolási javaslatok egy részét, ha úgy találja, hogy módosítania kell a hangolási beállításokat egy munkamenet futtatása után. Megkérheti például az Adatbázismotor finomhangolási tanácsadóját, hogy fontolja meg az indexelt nézeteket a munkamenet finomhangolási lehetőségeinek megadása során, de a javaslat létrehozása után dönthet úgy, hogy nem használ indexelt nézeteket.

A Műveletek menü Javaslatok kiértékelése lehetőségével az Adatbázismotor-finomhangolási tanácsadó az indexelt nézetek mérlegelése nélkül értékelje újra a munkamenetet. A Javaslatok kiértékelése lehetőség használata esetén a korábban létrehozott javaslatok hipotetikus módon lesznek alkalmazva az aktuális fizikai kialakításra, hogy a második hangolási munkamenet fizikai kialakításához érkezzenek.

Az eredmény finomhangolásával kapcsolatos további információkat a Jelentések lapon tekintheti meg, amelyet a lecke következő feladata ismertet.

Hangolási jelentések megtekintése

Bár hasznos megtekinteni a finomhangolási eredményeket megvalósító szkripteket, a Database Engine Tuning Advisor számos hasznos jelentést is tartalmaz, amelyeket megtekinthet. Ezek a jelentések információt nyújtanak a finomhangolt adatbázis meglévő fizikai tervezési struktúráiról és az ajánlott struktúrákról. A jelentések finomhangolását a Jelentések fülre kattintva tekintheti meg.

  1. Válassza a Jelentések lapot az Adatbázis-finomhangolási tanácsadóban.

  2. A Finomhangolás összegzése panelen megtekintheti a hangolási munkamenet adatait. A görgetősáv használatával megtekintheti az összes panel tartalmát. Figyelje meg a várt százalékos javulást és a javaslat által használt területet. A hangolási beállítások megadásakor korlátozhatja a javaslat által használt területet. A Hangolási beállítások lapon válassza a Speciális beállítások lehetőséget. Ellenőrizze a javaslatok maximális helyének meghatározása jelölőnégyzetet , és megabájtban adja meg a javaslatkonfiguráció által használható maximális helyet. A súgóböngésző Vissza gombjával térjen vissza ehhez az oktatóanyaghoz.

    A DTA finomhangolási összegzésének képernyőképe.

  3. A Finomhangolási jelentések panelen válassza az Utasításköltség-jelentést a Jelentés kiválasztása listában. Ha több helyre van szüksége a jelentés megtekintéséhez, húzza a Munkamenet-figyelő ablaktábla szegélyét balra. Minden olyan Transact-SQL utasítás, amely az adatbázisban lévő táblán fut, teljesítményköltséggel van társítva. Csökkentse ezt a teljesítményköltséget azáltal, hogy hatékony indexeket hoz létre egy tábla gyakran használt oszlopaiban. Ez a jelentés a számítási feladatban lévő kimutatások végrehajtásának eredeti költsége és a hangolási javaslat implementálásának költsége közötti becsült százalékos javulást mutatja. A jelentésben szereplő információk mennyisége a számítási feladat hosszán és összetettségén alapul.

    Képernyőkép a DTA-jelentésről – a kimutatás költségéről.

  4. Kattintson jobb gombbal a Kimutatás költségjelentés paneljére a táblázat területén, és válassza az Exportálás fájlba opciót. Mentse a jelentést a következőként MyReport: . A fájlnévhez automatikusan hozzáfűz egy .xml kiterjesztést. A jelentés tartalmának megtekintéséhez nyissa meg MyReport.xml kedvenc XML-szerkesztőjében vagy az SQL Server Management Studióban.

  5. Térjen vissza az Adatbázismotor-finomhangolási tanácsadó Jelentések lapjára, és kattintson ismét a jobb gombbal az Utasítás költségjelentésére . Tekintse át a többi elérhető lehetőséget. Módosíthatja a megtekintett jelentés betűtípusát. A betűtípus itt történő módosítása a többi lapokon is megváltoztatja azt.

  6. Válasszon ki más jelentéseket a Jelentés kiválasztása listában, és ismerkedjen meg velük.

Összefoglalás

A hangolási munkamenethez böngészte a Database Engine Tuning Advisor grafikus felhasználói felületének Jelentések lapját MySession. Ugyanezekkel a lépésekkel megismerheti a hangolási munkamenethez EvaluateMySession létrehozott jelentéseket. A kezdéshez kattintson duplán a EvaluateMySession elemre a Munkamenet-figyelő panelen.

Következő lépés