Condividi tramite


Lezione 2: Uso del Consigliere di Ottimizzazione del Motore di Database

si applica a:SQL Server

Database Engine Tuning Advisor consente di ottimizzare i database, gestire delle sessioni di ottimizzazione e visualizzare i consigli di ottimizzazione. Gli utenti con conoscenza avanzata delle strutture di progettazione fisica possono usare questo strumento per eseguire analisi esplorative dell'ottimizzazione del database. I principianti dell'ottimizzazione del database possono anche usare lo strumento per trovare la migliore configurazione delle strutture di progettazione fisica per i carichi di lavoro ottimizzati. Questa lezione illustra le procedure di base per gli amministratori di database principianti che non hanno familiarità con la grafica interfaccia utente di Database Engine Tuning Advisor e per gli amministratori di sistema che potrebbero non avere una conoscenza approfondita delle strutture di progettazione fisica.

Prerequisites

Per completare questa esercitazione, sono necessari SQL Server Management Studio, l'accesso a un server che esegue SQL Server e un database AdventureWorks2025.

Per istruzioni sul ripristino di database in SSMS, vedere Ripristinare un backup del database con SSMS.

Note

Questa esercitazione è destinata a un utente che ha familiarità con l'uso di SQL Server Management Studio e le attività di amministrazione di base del database.

Ottimizzare un carico di lavoro

Usare lo strumento Advisor per l'ottimizzazione del motore di database per individuare la migliore progettazione fisica del database, con l'obiettivo di migliorare le prestazioni delle query nei database e nelle tabelle che si selezionano per l'ottimizzazione.

  1. Copiare un'istruzione select di esempio e incollare l'istruzione nell'editor di query di SQL Server Management Studio. Salvare il file come MyScript.sql in una directory in cui è possibile trovarlo facilmente. Un esempio che funziona con il AdventureWorks database viene fornito nel codice seguente.

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

    Screenshot di Salva la query SQL.

  2. Avvia Il consulente di ottimizzazione del motore di database. Selezionare Database Tuning Advisor dal menu Strumenti in SQL Server Management Studio (SSMS). Per altre informazioni, vedere Avviare Ottimizzazione guidata motore di database. Connettersi a SQL Server nella finestra di dialogo Connetti al server .

  3. Nella scheda Generale del riquadro destro dell'interfaccia utente grafica dell'Advisor di Ottimizzazione del Motore di Database, digitare MySession nel campo nome della sessione.

  4. Selezionare File per il carico di lavoro e selezionare l'icona binocolo per cercare un file del carico di lavoro. Individuare il MyScript.sql file salvato nel passaggio 1.

    Screenshot di Trova lo script salvato in precedenza.

  5. Selezionare AdventureWorks2025 nell'elenco Database per l'analisi del carico di lavoro , selezionare AdventureWorks2025 nella griglia Selezionare database e tabelle da ottimizzare e selezionare Salva log di ottimizzazione. Il database per l'analisi del carico di lavoro specifica il primo database a cui si connette l'Advisor per l'ottimizzazione del motore di database durante la sintonizzazione di un carico di lavoro. Dopo che l'ottimizzazione inizia, l'Advisor di ottimizzazione del motore di database si connette ai database specificati dalle istruzioni contenute nel carico di lavoro.

    Screenshot delle opzioni DTA per il DB.

  6. Selezionare la scheda Opzioni di ottimizzazione . Non si impostano opzioni di ottimizzazione per questa procedura, ma è consigliabile esaminare le opzioni di ottimizzazione predefinite. Premere F1 per visualizzare la Guida per questa pagina a schede. Selezionare Opzioni avanzate per visualizzare altre opzioni di ottimizzazione. Selezionare Guida nella finestra di dialogo Opzioni di ottimizzazione avanzata per informazioni sulle opzioni di ottimizzazione visualizzate. Selezionare Annulla per chiudere la finestra di dialogo Opzioni di ottimizzazione avanzata, lasciando selezionate le opzioni predefinite.

    Screenshot delle opzioni di ottimizzazione DTA.

  7. Selezionare il pulsante Avvia analisi sulla barra degli strumenti. Mentre il Database Engine Tuning Advisor analizza il carico di lavoro, è possibile monitorare lo stato nella scheda Avanzamento. Al termine dell'ottimizzazione, viene visualizzata la scheda Raccomandazioni.

    Se viene visualizzato un errore relativo alla data e all'ora di arresto dell'ottimizzazione, controllare l'ora di Arresto nella scheda principale Opzioni di ottimizzazione. Assicuratevi che la data e l'ora di Arresto siano maggiori della data e dell'ora correnti e, se necessario, modificarle.

    Screenshot dell'avvio dell'analisi DTA.

  8. Al termine dell'analisi, salvare il consiglio come script Transact-SQL selezionando Salva raccomandazioni dal menu Azioni . Nella finestra di dialogo Salva con nome, passare alla directory in cui si desidera salvare lo script delle raccomandazioni e digitare il nome del file MyRecommendations.

    Screenshot di Salva le raccomandazioni DTA.

Visualizzare le raccomandazioni per l'ottimizzazione

  1. Nella scheda Raccomandazioni usare la barra di scorrimento nella parte inferiore della pagina a schede per visualizzare tutte le colonne Raccomandazioni indice . Ogni riga rappresenta un oggetto di database (indici o viste indicizzate) che Ottimizzazione guidata motore di database consiglia di eliminare o creare. Scorrere fino alla colonna più a destra e selezionare una definizione. Il Database Engine Tuning Advisor visualizza una finestra di anteprima script SQL in cui è possibile visualizzare lo script Transact-SQL che crea o elimina l'oggetto di database in quella riga. Selezionare Chiudi per chiudere la finestra di anteprima.

    Se si riscontrano difficoltà a individuare una definizione contenente un collegamento, selezionare per deselezionare la casella di controllo Mostra oggetti esistenti nella parte inferiore della pagina a schede. Questa azione riduce il numero di righe visualizzate. Quando si deseleziona questa casella di controllo, il Database Engine Tuning Advisor visualizza solo gli oggetti per i quali ha generato una raccomandazione. Selezionare la casella di controllo Mostra oggetti esistenti per visualizzare tutti gli oggetti di database attualmente esistenti nel AdventureWorks2025 database. Utilizzare la barra di scorrimento sul lato destro della pagina a schede per visualizzare tutti gli oggetti.

    Screenshot della raccomandazione per l'indice DTA.

  2. Fare clic con il pulsante destro del mouse sulla griglia nel riquadro Raccomandazioni indice . Questo menu di scelta rapida consente di selezionare e deselezionare le raccomandazioni. Consente inoltre di modificare il tipo di carattere per il testo della griglia.

    Screenshot del menu di selezione indice consigliato.

  3. Nel menu Azioni selezionare Salva raccomandazioni per salvare tutte le raccomandazioni in un unico script Transact-SQL. Dare al script il nome MySessionRecommendations.sql.

    Aprire lo MySessionRecommendations.sql script nell'editor di query di SQL Server Management Studio per visualizzarlo. È possibile applicare le raccomandazioni al AdventureWorks2025 database di esempio eseguendo lo script nell'editor di query, ma non eseguire questa operazione. Chiudere lo script nell'editor di query senza eseguirlo.

    In alternativa, è anche possibile applicare le raccomandazioni selezionando Applica raccomandazioni nel menu Azioni di Database Engine Tuning Advisor, ma non applicare queste raccomandazioni ora in questa procedura.

  4. Se nella scheda Raccomandazioni sono presenti più raccomandazioni, deselezionare alcune delle righe che elencano gli oggetti di database nella griglia Raccomandazioni indice .

  5. Scegliere Valuta raccomandazioni dal menu Azioni. Database Engine Tuning Advisor crea una nuova sessione di ottimizzazione in cui è possibile valutare un sottoinsieme delle raccomandazioni da MySession.

  6. Digitare EvaluateMySession il nuovo nome sessione e selezionare il pulsante Avvia analisi sulla barra degli strumenti. Ripetere i passaggi 2 e 3 per questa nuova sessione di ottimizzazione per visualizzarne le raccomandazioni.

Summary

Potrebbe essere necessario valutare un subset di raccomandazioni di ottimizzazione se è necessario modificare le opzioni di ottimizzazione dopo l'esecuzione di una sessione. Ad esempio, è possibile chiedere a Ottimizzazione guidata motore di database di prendere in considerazione le viste indicizzate quando si specificano le opzioni di ottimizzazione per una sessione, ma dopo la generazione della raccomandazione si decide di non usare le viste indicizzate.

Usare l'opzione Valuta raccomandazioni nel menu Azioni per far sì che Database Engine Tuning Advisor rivaluti la sessione senza considerare le viste indicizzate. Quando si usa l'opzione Valuta raccomandazioni , le raccomandazioni generate in precedenza vengono ipoteticamente applicate alla progettazione fisica corrente per arrivare alla progettazione fisica per la seconda sessione di ottimizzazione.

È possibile visualizzare altre informazioni sui risultati di ottimizzazione nella scheda Report , descritta nell'attività successiva di questa lezione.

Visualizzare i report di ottimizzazione

Sebbene sia utile visualizzare gli script che implementano i risultati dell'ottimizzazione, l'Ottimizzazione guidata del motore di database fornisce anche molti report utili che è possibile consultare. Questi report forniscono informazioni sulle strutture di progettazione fisica esistenti nel database che si sta ottimizzando e sulle strutture consigliate. Visualizzare i report di ottimizzazione selezionando la scheda Report .

  1. Selezionare la scheda Report nell'Assistente alla Ottimizzazione del Database.

  2. Nel riquadro Riepilogo ottimizzazione è possibile visualizzare informazioni su questa sessione di ottimizzazione. Usare la barra di scorrimento per visualizzare tutto il contenuto del riquadro. Si noti il miglioramento percentuale previsto e lo spazio usato dalla raccomandazione. È possibile limitare lo spazio usato dalla raccomandazione quando si impostano le opzioni di ottimizzazione. Nella scheda Opzioni di ottimizzazione selezionare Opzioni avanzate. Controllare Definisci spazio massimo per le raccomandazioni e specificare in megabyte lo spazio massimo che può essere usato da una configurazione delle raccomandazioni. Usare il pulsante Indietro nel browser dell'aiuto per tornare a questa esercitazione.

    Screenshot del riepilogo di ottimizzazione DTA.

  3. Nel riquadro Report di ottimizzazione selezionare Report sui costi delle dichiarazioni nell'elenco Seleziona un report. Se è necessario più spazio per visualizzare il report, trascinare il bordo del riquadro Monitoraggio sessione a sinistra. A ogni istruzione Transact-SQL eseguita su una tabella nel database è associato un costo delle prestazioni. Ridurre questo costo delle prestazioni creando indici efficaci nelle colonne a cui si accede di frequente in una tabella. Questo report mostra il miglioramento percentuale stimato tra il costo originale dell'esecuzione di un'istruzione nel carico di lavoro e il costo se viene implementata la raccomandazione di ottimizzazione. La quantità di informazioni contenute nel report si basa sulla lunghezza e sulla complessità del carico di lavoro.

    Screenshot del report DTA - Costo del rendiconto.

  4. Fare clic con il pulsante destro del mouse sul riquadro Report dei costi dell'estratto conto nell'area della griglia e scegliere Esporta in un file. Salvare il report come MyReport. Un'estensione .xml viene aggiunta automaticamente al nome del file. È possibile aprire MyReport.xml nell'editor XML preferito o in SQL Server Management Studio per visualizzare il contenuto del report.

  5. Tornare alla scheda Report di Database Engine Tuning Advisor e fare clic destro di nuovo sul Report costo istruzione. Esaminare le altre opzioni disponibili. È possibile modificare il tipo di carattere per il report visualizzato. Il cambiamento del tipo di carattere qui si riflette anche nelle altre pagine a schede.

  6. Selezionare altri report nell'elenco Seleziona report per acquisire familiarità con essi.

Summary

È stata esaminata la scheda Reports dell'interfaccia utente grafica dell'Ottimizzazione guidata del motore di database per la MySession sessione di tuning. È possibile usare questi stessi passaggi per esplorare i report generati per la EvaluateMySession sessione di ottimizzazione. Fare doppio clic su EvaluateMySession nel riquadro Monitoraggio sessione per iniziare.

Passo successivo