Condividi tramite


Avvia e utilizza il Consulente di Ottimizzazione del Motore di Database

Si applica a:SQL Server

In questo articolo viene descritto come avviare e utilizzare il Motore di Database Tuning Advisor in SQL Server. Per informazioni su come visualizzare e usare i risultati dopo l'ottimizzazione di un database, consultare Visualizzare e utilizzare l'output dell'Ottimizzazione guidata motore di database.

Nota

Consulente Ottimizzazione Motore di Database non è supportato per SQL Database di Azure o Istanza Gestita di SQL di Azure. Prendere invece in considerazione le strategie consigliate in Monitoraggio e ottimizzazione delle prestazioni in Database SQL di Azure e Istanza gestita di SQL di Azure. Per Database SQL di Azure, consulta anche le raccomandazioni sulle prestazioni di Database Advisor per Azure SQL Database.

Inizializzare il Database Engine Tuning Advisor

Al primo utilizzo, un utente che è membro del ruolo predefinito del server sysadmin deve inizializzare lo strumento Ottimizzazione Guidata Motore di Database. Questa operazione viene richiesta perché è necessario creare diverse tabelle di sistema nel database msdb per supportare operazioni di ottimizzazione. L'inizializzazione consente anche agli utenti membri del ruolo predefinito del database db_owner di ottimizzare carichi di lavoro nelle tabelle dei database di cui sono proprietari.

Un utente con le autorizzazioni di amministratore di sistema deve eseguire una delle azioni seguenti.

  • Utilizzare l'interfaccia utente grafica del Database Engine Tuning Advisor per connettersi a un'istanza di SQL Server. Per ulteriori informazioni, vedere Avviare l'Ottimizzazione guidata del motore di database più avanti in questo articolo.

  • Utilizzare l'utilità dta per ottimizzare il primo carico di lavoro. Per ulteriori informazioni, vedere Utilizzare l'utilità dta, più avanti in questo articolo.

Avviare l'Ottimizzazione guidata del motore di database

Ci sono diversi modi per avviare l'interfaccia grafica (GUI) del Database Engine Tuning Advisor e supportare l'ottimizzazione dei database in vari scenari. I diversi modi per avviare Database Engine Tuning Advisor includono: dal menu Start, dal menu Strumenti di SQL Server Management Studio, dall'Editor di Query in SQL Server Management Studio e dal menu Strumenti di SQL Server Profiler. Quando avvii per la prima volta il Motore di Ottimizzazione guidata del database, viene visualizzata la finestra di dialogo Connetti al server in cui è possibile specificare l'istanza di SQL Server a cui desideri connetterti.

Avviso

Non avviare l'Advisor per l'ottimizzazione del motore di database quando SQL Server è in esecuzione in modalità a utente singolo. Se tenti di avviarlo mentre il server è in modalità utente singolo, verrà restituito un errore e l'Ottimizzazione guidata del Motore di Database non verrà avviata. Per altre informazioni sulla modalità utente singolo, vedere Avvio di SQL Server in modalità utente singolo.

Per avviare Advisor di Ottimizzazione del Motore di Database dal menu Start di Windows

  1. Nel menu Start scegliere Tutti i programmi, Microsoft SQL Server, Strumenti per le prestazioni e selezionare Ottimizzazione guidata motore di database.

Per avviare l'ottimizzazione guidata del motore di database nell'ambiente di SQL Server Management Studio

  1. Dal menu Strumenti in SQL Server Management Studio, selezionare Database Engine Tuning Advisor.

Per avviare l'Ottimizzazione guidata del motore di database dall'editor di query di SQL Server Management Studio

  1. Aprire un file di script Transact-SQL in SQL Server Management Studio. Per altre informazioni, vedere Editor di query e di testo (SQL Server Management Studio).

  2. Selezionare una query nello script Transact-SQL o selezionare l'intero script, fare clic destro sulla selezione e scegliere Analizza query nell'Advisor per la Manutenzione del Motore di Database. Viene aperta l'interfaccia utente grafica dell'Advisor Ottimizzazione Motore di Database e lo script viene importato come carico di lavoro nel formato di file XML. Per ottimizzare le query Transact-SQL selezionate come carico di lavoro è possibile specificare un nome di sessione e le opzioni di ottimizzazione.

Per avviare il Consulente per l'ottimizzazione del motore di database in SQL Server Profiler

  1. Scegliere Ottimizzazione guidata motore di database dal menu Strumenti di SQL Server Profiler.

Creare un carico di lavoro

Un carico di lavoro è un set di istruzioni Transact-SQL eseguite sui database che si desidera ottimizzare. Nel Database Engine Tuning Advisor, questi carichi di lavoro vengono analizzati per raccomandare indici o strategie di partizionamento che miglioreranno le prestazioni delle query del server.

È possibile creare un carico di lavoro con uno dei metodi seguenti:

  • Usare Archivio query come carico di lavoro. In questo modo, è possibile evitare di dover creare manualmente un carico di lavoro. Per altre informazioni, vedere Ottimizzazione del database utilizzando il carico di lavoro dall'archivio query.

    Si applica a: SQL Server 2016 (13.x) e versioni successive.
  • Utilizzare la cache dei piani come carico di lavoro. In questo modo, è possibile evitare di dover creare manualmente un carico di lavoro. Per ulteriori informazioni, vedere Ottimizzare un database di seguito in questo articolo.

  • Utilizzare l'editor di query in SQL Server Management Studio o un editor di testo a scelta per creare manualmente carichi di lavoro di script Transact-SQL.

  • Utilizzare SQL Server Profiler per creare carichi di lavoro di tabelle di traccia o file di traccia

    Nota

    Quando si utilizza una tabella di traccia come carico di lavoro, tale tabella deve esistere sullo stesso server su cui il Consulente di Ottimizzazione Motore di Database sta operando. Se crei la tabella di traccia su un altro server, spostala sul server in cui Database Engine Tuning Advisor sta eseguendo l'ottimizzazione.

  • I carichi di lavoro inoltre possono essere incorporati in un file di input XML, in cui è possibile specificare anche la ponderazione per ogni evento. Per ulteriori informazioni sulla specifica di carichi di lavoro incorporati, vedere Creare un file di input XML più avanti in questo articolo.

Per creare carichi di lavoro di script Transact-SQL

  1. Avviare editor di query in SQL Server Management Studio. Per altre informazioni, vedere Editor di query e di testo (SQL Server Management Studio).

  2. Digitare lo script Transact-SQL nell'editor di query. Lo script deve includere un set di istruzioni Transact-SQL eseguite sui database che si desidera ottimizzare.

  3. Salvare il file con l'estensione sql . L'interfaccia grafica di Advisor per l'ottimizzazione del motore di database e l'utilità della riga di comando dta possono usare questo script Transact-SQL come lavoro da eseguire.

Per creare carichi di lavoro di file di traccia o di tabelle di traccia

  1. Avviare SQL Server Profiler in uno dei modi seguenti:

    • Nel menu Start scegliere Tutti i programmi, Microsoft SQL Server, Strumenti per le prestazioni e quindi selezionare SQL Server Profiler.

    • Nel menu Strumenti di SQL Server Management Studio selezionare SQL Server Profiler.

  2. Creare un file o una tabella di traccia come descritto nelle procedure seguenti in cui viene utilizzato il modello di ottimizzazione di SQL Server Profiler:

Si consiglia di utilizzare il modello di ottimizzazione di SQL Server Profiler per l'acquisizione di carichi di lavoro per il Database Engine Tuning Advisor.

Se si desidera utilizzare un modello personalizzato, verificare che siano acquisiti gli eventi di traccia seguenti:

  • RPC:Completed

  • SQL:BatchCompleted

  • SP:StmtCompleted

È inoltre possibile utilizzare la versione Starting degli eventi di traccia, ad esempio, SQL:BatchStarting. Tuttavia, le versioni Completed di questi eventi di traccia includono la colonna Duration, che consente a Database Engine Tuning Advisor di ottimizzare più efficacemente il carico di lavoro. Gli strumenti di ottimizzazione del motore di database non ottimizzano altri tipi di eventi di traccia. Per ulteriori informazioni su questi eventi di traccia, vedere Stored Procedures Event Category e TSQL Event Category. Per informazioni sull'uso delle stored procedures di SQL Trace per la creazione di un file di workload di traccia, consultare Creare una traccia (Transact-SQL).

Carichi di lavoro di file di traccia o di tabelle contenenti la colonna dati loginname.

Consulente per l'ottimizzazione del motore di database inoltra le richieste Showplan come parte del processo di ottimizzazione. Quando una tabella o un file di traccia che include la colonna di dati LoginName viene utilizzato come carico di lavoro, il Consulente per l'ottimizzazione del motore di database rappresenta l'utente specificato in LoginName. Se a questo utente non è stata concessa l'autorizzazione SHOWPLAN, che consente di eseguire e generare Showplans per le istruzioni incluse nella traccia, il Database Engine Tuning Advisor non ottimizzerà queste istruzioni.

Per evitare di concedere l'autorizzazione SHOWPLAN a ogni utente specificato nella colonna LoginName della traccia
  1. Regolare il file di traccia o il carico di lavoro della tabella. Per ulteriori informazioni, vedere Ottimizzare un database di seguito in questo articolo.

  2. Verificare nel log di ottimizzazione eventuali istruzioni non ottimizzate a causa di permessi insufficienti. Per altre informazioni, vedere Vedere e lavorare con l'output del Database Engine Tuning Advisor.

  3. Creare un nuovo carico di lavoro eliminando la colonna LoginName dagli eventi non ottimizzati e quindi salvando solo gli eventi non ottimizzati in un nuovo file o tabella di traccia. Per altre informazioni sull'eliminazione di colonne di dati da una traccia, vedere Specificare eventi e colonne di dati per un file di traccia (SQL Server Profiler) o Modificare una traccia esistente (Transact-SQL).

  4. Inoltrare nuovamente il nuovo carico di lavoro senza la colonna LoginName nella Ottimizzazione guidata del motore di database.

Consulente per l'ottimizzazione del motore di database ottimizzerà il nuovo workload poiché le informazioni di accesso non sono specificate nella traccia. Se LoginName non esiste per un'istruzione, l'Ottimizzazione guidata del motore di database ottimizza quell'istruzione imitando l'utente che ha avviato la sessione di ottimizzazione, ovvero un membro del ruolo predefinito del server sysadmin o del ruolo predefinito del database db_owner.

Ottimizzare un database

Per ottimizzare un database è possibile utilizzare l'interfaccia grafica della Ottimizzazione guidata del motore di database o l'utilità da riga di comando dta.

Nota

Assicurarsi che il tracciamento sia concluso prima di utilizzare una tabella di traccia come carico di lavoro per Database Engine Tuning Advisor. Database Engine Tuning Advisor non consente di utilizzare come carico di lavoro una tabella di traccia nella quale è ancora in corso la scrittura di eventi di traccia.

Utilizzare l'interfaccia utente grafica del Consulente di Ottimizzazione del Motore di Database

Nell'interfaccia utente grafica (GUI) dello Strumento di Ottimizzazione del Motore di Database, è possibile ottimizzare un database utilizzando la cache dei piani, i file del carico di lavoro o le tabelle del carico di lavoro. È possibile utilizzare l'interfaccia grafica di Ottimizzazione Guidata Motore di Database per visualizzare facilmente i risultati della sessione di ottimizzazione corrente e di quelle precedenti. Per ulteriori informazioni sulle opzioni dell'interfaccia utente, vedere Descrizioni dell'interfaccia utente più avanti in questo articolo. Per ulteriori informazioni sull'utilizzo dell'output dopo l'ottimizzazione di un database, vedere Visualizzare e utilizzare l'output del Database Engine Tuning Advisor.

Per ottimizzare un database tramite Query Store

Per ulteriori informazioni, vedere Ottimizzazione del database utilizzando il carico di lavoro dal Query Store.

Per ottimizzare un database tramite la cache dei piani

  1. Avvia Advisor per l'ottimizzazione del motore di database e accedi a un'istanza di SQL Server. Per ulteriori informazioni, vedere Avviare l'Ottimizzazione guidata motore di database prima in questo articolo.

  2. Nella scheda Generale digitare un nome in Nome sessione per creare una nuova sessione di ottimizzazione. Prima di avviare una sessione di ottimizzazione è necessario configurare i campi contenuti nella scheda Generale , Non è necessario modificare le impostazioni contenute nella scheda Opzioni di ottimizzazione prima di avviare una sessione di ottimizzazione.

  3. Selezionare Cache Piano come opzione del carico di lavoro. Database Engine Tuning Advisor seleziona i 1.000 eventi più importanti dalla cache dei piani da utilizzare per l'analisi.

  4. Selezionare il o i database che si desidera ottimizzare e facoltativamente scegliere uno o più tabelle da ogni database da Tabelle selezionate. Per includere voci della cache per tutti i database, da Opzioni di ottimizzazione selezionare Opzioni avanzate, quindi controllare Includi eventi della cache dei piani da tutti i database.

  5. Selezionare Salva log di ottimizzazione per salvare una copia del log di ottimizzazione. Deselezionare la casella di controllo se non si desidera salvare una copia del log di ottimizzazione.

    È possibile visualizzare il log di ottimizzazione in seguito all'analisi aprendo la sessione e selezionando la scheda Stato .

  6. Fare clic sulla scheda Opzioni di ottimizzazione e selezionare le opzioni elencate lì.

  7. Fare clic su Avvia analisi.

    Per arrestare la sessione di ottimizzazione una volta avviata, scegliere una delle opzioni seguenti dal menu Azioni :

    • Stop Analysis (Con raccomandazioni) interrompe la sessione di ottimizzazione e ti chiede se desideri che il Consulente per l'ottimizzazione del motore di database generi raccomandazioni basate sull'analisi eseguita fino a questo punto.

    • Interrompi analisi interrompe la sessione di ottimizzazione senza generare raccomandazioni.

Nota

Sospendere il Consulente di Ottimizzazione del Motore di Database non è supportato. Se si seleziona il pulsante della barra degli strumenti Avvia analisi dopo aver selezionato uno dei pulsanti della barra degli strumenti Arresta analisi o Arresta analisi (con indicazioni), il Consulente per la messa a punto del motore di database avvia una nuova sessione di ottimizzazione.

Per ottimizzare un database utilizzando un file o una tabella del carico di lavoro come input

  1. Determinare quali funzionalità del database (indici, viste indicizzate, partizionamento) si desidera che il Consigliere di Ottimizzazione del Motore di Database consideri di aggiungere, rimuovere o mantenere durante l'analisi.

  2. Creare un carico di lavoro. Per ulteriori informazioni, vedere Creare un carico di lavoro precedentemente in questo articolo.

  3. Avvia il Consulente di Ottimizzazione del Motore di Database e accedi a un'istanza di Microsoft SQL Server. Per ulteriori informazioni, vedere Avviare l'ottimizzazione guidata del motore di database in precedenza in questo articolo.

  4. Nella scheda Generale digitare un nome in Nome sessione per creare una nuova sessione di ottimizzazione.

  5. Selezionare File del carico di lavoro o Tabella e digitare il percorso del file oppure il nome della tabella nella casella di testo adiacente.

    Il formato per specificare una tabella è

    database_name.schema_name.table_name  
    

    Per cercare un file o una tabella del carico di lavoro, selezionare Sfoglia. Database Engine Tuning Advisor presuppone che i file del carico di lavoro siano file di rollover. Per ulteriori informazioni sui file di rollover, consulta Limit Trace File and Table Sizes.

    Quando una tabella di traccia viene utilizzata come carico di lavoro, è necessario che questa si trovi sullo stesso server su cui si esegue il Consigliere di ottimizzazione del motore di database. Se la tabella di traccia viene creata in un server diverso, spostarla al server che il Database Engine Tuning Advisor sta ottimizzando prima di utilizzarla come carico di lavoro.

  6. Selezionare i database e le tabelle in cui si desidera eseguire il carico di lavoro selezionato nel passaggio 5. Per selezionare le tabelle, selezionare la freccia accanto a Tabelle selezionate.

  7. Selezionare Salva log di ottimizzazione per salvare una copia del log di ottimizzazione. Deselezionare la casella di controllo se non si desidera salvare una copia del log di ottimizzazione.

    È possibile visualizzare il log di ottimizzazione in seguito all'analisi aprendo la sessione e selezionando la scheda Stato .

  8. Fare clic sulla scheda Opzioni di ottimizzazione e selezionare tra le opzioni elencate.

  9. Fare clic sul pulsante Avvia analisi sulla barra degli strumenti.

    Per arrestare la sessione di ottimizzazione una volta avviata, scegliere una delle opzioni seguenti dal menu Azioni :

    • Interrompi analisi (con raccomandazioni) ferma la sessione di ottimizzazione e consente di decidere se si desidera che il Consulente per l'ottimizzazione del motore di database generi raccomandazioni basate sull'analisi eseguita fino a questo punto.

    • Interrompi analisi interrompe la sessione di ottimizzazione senza generare raccomandazioni.

Nota

La sospensione dell'Ottimizzazione guidata del motore di database non è supportata. Se si seleziona il pulsante della barra degli strumenti Avvia analisi dopo aver selezionato il pulsante della barra degli strumenti Arresta analisi o Arresta analisi (con indicazioni), il Consulente Ottimizzazione Motore di Database avvierà una nuova sessione di ottimizzazione.

Utilizzare l'utilità dta

L'utilità dta fornisce un file eseguibile dal prompt dei comandi che consente di ottimizzare i database Consente di utilizzare le funzionalità dell'Advisor di Ottimizzazione del Motore di Database in file batch e script. L'utilità dta utilizza le voci della cache dei piani, i file di traccia, le tabelle di traccia e gli script Transact-SQL come carichi di lavoro. Utilizza inoltre l'input XML conforme allo schema XML dell'Advisor di ottimizzazione del motore di database, disponibile su questo sito Web Microsoft.

Prima di ottimizzare un carico di lavoro tramite l'utilità dta , considerare quanto segue:

  • Quando si utilizza una tabella di traccia come carico di lavoro, tale tabella deve esistere sullo stesso server che la Database Engine Tuning Advisor sta ottimizzando. Se crei la tabella di traccia su un altro server, allora spostala sul server in cui il Consulente per l'ottimizzazione del motore di database sta effettuando l'ottimizzazione.

  • Assicurarsi che il tracciamento sia stato interrotto prima di utilizzare una tabella di tracciamento come carico di lavoro per l'Ottimizzazione guidata del Motore di Database. Consulente per l'ottimizzazione del motore di database non supporta l'utilizzo di una tabella di traccia a cui sono ancora scritte eventi di traccia come workload.

  • Se una sessione di ottimizzazione dura più a lungo del previsto, è possibile premere CTRL+C per arrestarla e generare indicazioni in base alle analisi eseguite dall'utilità dta fino a quel momento. Verrà richiesto di decidere se generare le indicazioni o meno. Premere nuovamente CTRL+C per arrestare la sessione di ottimizzazione senza generare le indicazioni.

Per ulteriori informazioni sulla sintassi dell'utilità dta ed esempi, vedere utilità dta.

Per ottimizzare un database tramite la cache dei piani

  1. Specificare l'opzione -ip . Vengono analizzati i primi 1.000 eventi della cache dei piani per i database selezionati.

    Dal prompt dei comandi digitare quanto segue:

    dta -E -D DatabaseName -ip -s SessionName  
    
  2. Per modificare il numero di eventi da usare per l'analisi, specificare l'opzione -n. Il numero di voci della cache viene aumentato a 2.000 nell'esempio seguente.

    dta -E -D DatabaseName -ip -n 2000-s SessionName1  
    
  3. Per analizzare eventi per tutti i database nell'istanza, specificare l'opzione -ipf .

    dta -E -D DatabaseName -ip -ipf -n 2000 -s SessionName2  
    

Per ottimizzare un database utilizzando un carico di lavoro e le impostazioni predefinite dell'utilità dta

  1. Stabilire le funzionalità del database (indici, viste indicizzate, partizionamento) che si desidera che l'Ottimizzazione guidata del motore di database consideri di aggiungere, rimuovere o mantenere durante l'analisi.

  2. Creare un carico di lavoro. Per ulteriori informazioni, vedere Creare un carico di lavoro precedentemente in questo articolo.

  3. Dal prompt dei comandi digitare quanto segue:

    dta -E -D DatabaseName -if WorkloadFile -s SessionName  
    

    dove -E specifica che la sessione di ottimizzazione utilizza una connessione trusted anziché un ID di accesso e una password e -D specifica il nome del database da ottimizzare. Per impostazione predefinita, l'utilità si connette all'istanza predefinita di SQL Server nel computer locale. Per specificare un database remoto come illustrato nella procedura seguente o per specificare un'istanza denominata, è possibile utilizzare l'opzione -S. L'opzione -if consente di specificare il nome e il percorso del file del carico di lavoro (uno script Transact-SQL o un file di traccia) e -s consente di specificare il nome della sessione di ottimizzazione.

    Le quattro opzioni illustrate (nome del database, carico di lavoro, tipo di connessione e nome della sessione) sono obbligatorie.

Per ottimizzare un database remoto o un'istanza denominata per un periodo di tempo specifico

  1. Determinare quali funzionalità del database (indici, viste indicizzate, partizionamento) desiderate che l'Ottimizzazione guidata del motore di database consideri di aggiungere, rimuovere o mantenere durante l'analisi.

  2. Creare un carico di lavoro. Per ulteriori informazioni, vedere Creare un carico di lavoro precedentemente in questo articolo.

  3. Dal prompt dei comandi digitare quanto segue:

    dta -S ServerName\Instance -D DatabaseName -it WorkloadTableName   
    -U LoginID -P Password -s SessionName -A TuningTimeInMinutes  
    

    dove -S specifica il nome e l'istanza di un server remoto (o un'istanza denominata nel server locale) e -D specifica il nome del database da ottimizzare. L'opzione -it specifica il nome della tabella del carico di lavoro, -U e -P specificano l'ID e la password di accesso al database remoto, -s specifica il nome della sessione di ottimizzazione e -A specifica la durata della sessione di ottimizzazione espressa in minuti. La durata di ottimizzazione predefinita dell'utilità dta è 8 ore. Se si desidera che il Consigliere per l'ottimizzazione del motore di database ottimizzi un carico di lavoro per un tempo illimitato, specificare 0 (zero) tramite l'opzione -A.

Per ottimizzare un database tramite un file di input XML

  1. Stabilire quali funzionalità del database (indici, viste indicizzate, partizionamento) si desidera aggiungere, rimuovere o mantenere durante l'analisi eseguita con Ottimizzazione guidata motore di database.

  2. Creare un carico di lavoro. Per ulteriori informazioni, vedere Creare un carico di lavoro precedentemente in questo articolo.

  3. Creare un file di input XML. Per ulteriori informazioni, vedere Creare un file di input XML di seguito in questo articolo.

  4. Dal prompt dei comandi digitare quanto segue:

    dta -E -S ServerName\Instance -s SessionName -ix PathToXMLInputFile  
    

    dove -E specifica una connessione trusted, -S specifica un server e un'istanza remoti oppure un'istanza denominata nel server locale, -s specifica il nome di una sessione di ottimizzazione e -ix specifica il file di input XML da utilizzare per la sessione di ottimizzazione.

  5. Dopo che l'utilità ha completato l'ottimizzazione del carico di lavoro, è possibile visualizzare i risultati delle sessioni tramite il Database Engine Tuning Advisor GUI. In alternativa, è possibile specificare tramite l'opzione -ox che le indicazioni relative all'ottimizzazione verranno scritte in un file XML. Per altre informazioni, vedere utilità dta.

Creare un file di input XML

Se sei uno sviluppatore XML esperto, puoi creare file formattati XML che il Database Engine Tuning Advisor può utilizzare per ottimizzare i carichi di lavoro. Per creare questi file XML, utilizzare gli strumenti XML preferiti per modificare un file di esempio o per generare un'istanza a partire dallo schema XML del Database Engine Tuning Advisor.

Lo schema XML del Database Engine Tuning Advisor è disponibile nella tua installazione di Microsoft SQL Server nel seguente percorso:

C:\Program Files\Microsoft SQL Server\100\Tools\Binn\schemas\sqlserver\2004\07\dta\dtaschema.xsd

Lo schema XML del Database Engine Tuning Advisor è inoltre disponibile online sul sito Web Microsoft.

Questo URL ti porta a una pagina in cui sono disponibili molti schemi XML di SQL Server. Scorri verso il basso la pagina fino a visualizzare la riga per Advisor di ottimizzazione del motore di database.

Per creare un file input XML per l'ottimizzazione di carichi di lavoro

  1. Creare un carico di lavoro. A tale scopo è possibile utilizzare un file o una tabella di traccia tramite il modello di ottimizzazione di SQL Server Profiler oppure creare uno script Transact-SQL che riproduca un carico di lavoro rappresentativo per SQL Server. Per ulteriori informazioni, vedere Creare un carico di lavoro precedentemente in questo articolo.

  2. Creare un file input XML seguendo una delle procedure seguenti:

    • Copiare e incollare nell'editor XML preferito uno degli Esempi di file di input XML (DTA). Modifica i valori per specificare gli argomenti appropriati per la tua installazione di SQL Server e salva il file XML.

    • Utilizzando il tuo strumento XML preferito, genera un'istanza dallo schema XML dell'Ottimizzatore del Motore di Database.

  3. Dopo aver creato il file XML di input, utilizzalo come input per l'utilità da riga di comando dta per sintonizzare il carico di lavoro. Per informazioni sull'utilizzo di file di input di XML con questa utilità, vedere la sezione Utilizzare l'utilità dta precedentemente in questo articolo.

Nota

Se si vuole usare un carico di lavoro inline, ovvero un carico di lavoro specificato direttamente nel file input XML, usare il file di esempio disponibile in Esempio di file di input XML con carico di lavoro inline (DTA).

Descrizioni dell'interfaccia utente

Menu Strumenti / Pagina Opzioni

Utilizzare questa finestra di dialogo per specificare i parametri di configurazione generale per l'Advisor di Ottimizzazione del Motore di Database.

All'avvio
Consente di specificare cosa dovrebbe fare il Database Engine Tuning Advisor quando viene avviato: aprirsi senza connessione al database, visualizzare una finestra di dialogo Nuova connessione, mostrare una nuova sessione oppure caricare l'ultima sessione.

Modifica carattere
Specifica il tipo di carattere di visualizzazione utilizzato nelle tabelle dell'Advisor per l'ottimizzazione del motore di database.

Numero di elementi negli elenchi recenti
Consente di specificare il numero di sessioni o file da visualizzare sotto la voce Sessioni recenti o File recenti del menu File .

Memorizza le mie ultime impostazioni di sintonia
Mantieni le opzioni di configurazione tra le sessioni. Questa opzione è selezionata per impostazione predefinita. Deseleziona questa casella di controllo per avviare sempre con i valori predefiniti dell'Ottimizzazione guidata del Motore di Database.

Chiedi conferma prima di eliminare definitivamente le sessioni
Consente di visualizzare una finestra di dialogo di conferma prima dell'eliminazione delle sessioni.

Richiedi conferma prima di arrestare l'analisi della sessione
Consente di visualizzare una finestra di dialogo di conferma prima di arrestare l'analisi di un carico di lavoro.

Opzioni della scheda Generale

Prima di avviare una sessione di ottimizzazione è necessario configurare i campi contenuti nella scheda Generale , Non è necessario modificare le impostazioni contenute nella scheda Opzioni di ottimizzazione prima di avviare una sessione di ottimizzazione.

Nome sessione
Specifica un nome per la sessione. Il nome della sessione associa un nome a una sessione di ottimizzazione. Puoi fare riferimento a questo nome in seguito per esaminare la sessione di ottimizzazione.

file
Consente di specificare uno script sql o un file di traccia per un carico di lavoro. Digitare il percorso e il nome del file nell'apposita casella di testo. Ottimizzazione guidata motore di database presuppone che il file di traccia per il carico di lavoro sia un file di rollover. Per ulteriori informazioni sui file di rollover, vedere Limit Trace File and Table Sizes.

Tabella
Specificare una tabella di traccia per un carico di lavoro. Specificare il nome completo della tabella di traccia nell'apposita casella, come illustrato nell'esempio seguente:

database_name.owner_name.table_name  
  • Prima di utilizzare una tabella di traccia come carico di lavoro, verificare che la traccia sia stata arrestata.

  • La tabella di traccia deve trovarsi sullo stesso server su cui il Consulente per l'ottimizzazione del motore di database sta ottimizzando. Se la tabella di traccia viene creata in un altro server, è necessario spostarla nel server in cui viene eseguita l'Ottimizzazione guidata del motore di database.

Cache dei piani
Specificare la cache dei piani come carico di lavoro. In questo modo, è possibile evitare di dover creare manualmente un carico di lavoro. Consulente per l'ottimizzazione del motore di database seleziona i 1.000 eventi più importanti da utilizzare per l'analisi.

Xml
Se non si importa una query del carico di lavoro da SQL Server Management Studio, questa opzione non viene visualizzata.

Per importare una query del carico di lavoro da SQL Server Management Studio:

  1. Digitare una query nell'editor di query ed evidenziarla.

  2. Fare clic con il pulsante destro del mouse sulla query evidenziata e scegliere Analizza query in Database Engine Tuning Advisor.

Sfoglia un [file o tabella] di carico di lavoro
Quando è selezionato File o Tabella come origine del carico di lavoro, usare questo pulsante per selezionare la destinazione.

Anteprima del carico di lavoro XML
Consente di visualizzare un carico di lavoro in formato XML importato da SQL Server Management Studio.

Database per l'analisi del carico di lavoro
Consente di specificare il primo database al quale si connette il Database Engine Tuning Advisor durante la messa a punto di un carico di lavoro. Dopo l'inizio della procedura di ottimizzazione, lo Strumento di ottimizzazione del motore di database si connette ai database specificati dalle istruzioni USE DATABASE contenute nel carico di lavoro.

Selezionare i database e le tabelle da ottimizzare
Consente di specificare i database e le tabelle da ottimizzare. Per specificare tutti i database, selezionare la casella di controllo nell'intestazione della colonna Nome . Per specificare solo determinati database, selezionare le caselle di controllo accanto ai nomi dei database desiderati. Per impostazione predefinita, tutte le tabelle per i database selezionati vengono incluse automaticamente nella sessione di ottimizzazione. Per escludere determinate tabelle, selezionare la freccia nella colonna Tabelle selezionate e quindi deselezionare le caselle di controllo accanto alle tabelle che non si desidera ottimizzare.

Tabelle selezionate freccia in giù
Consente di espandere l'elenco delle tabelle in cui è possibile selezionare singole tabelle per l'ottimizzazione.

Salva log di ottimizzazione
Consente di creare un log e di registrare gli errori verificatisi durante la sessione.

Nota

Advisor di ottimizzazione del motore di database non aggiorna automaticamente le informazioni delle righe relative alle tabelle visualizzate nella scheda Generale. Invece, si basa sui metadati presenti nel database. Se si ritiene che le informazioni delle righe siano obsolete, eseguire il comando DBCC UPDATEUSAGE per i relativi oggetti.

Opzioni della scheda di regolazione

La scheda Opzioni di ottimizzazione consente di modificare le impostazioni predefinite delle opzioni di ottimizzazione generali. Non è necessario modificare le impostazioni contenute nella scheda Opzioni di ottimizzazione prima di avviare una sessione di ottimizzazione.

Limita tempo di ottimizzazione
Limita il tempo per la sessione di regolazione corrente. L'impostazione di un tempo di ottimizzazione maggiore migliora la qualità delle indicazioni. Per garantire la migliore qualità delle indicazioni, non selezionare questa opzione.

Nota

L'Advisor di ottimizzazione del motore di database utilizza risorse di sistema durante l'analisi. Utilizzare Limita tempo di ottimizzazione per interrompere l'ottimizzazione prima di periodi di carico di lavoro elevato previsti sul server in fase di ottimizzazione.

Opzioni avanzate
Usare la finestra di dialogo Opzioni di ottimizzazione avanzate per configurare le indicazioni relative allo spazio massimo, alle colonne chiave massime e all'indice online.

Definisci spazio massimo per le raccomandazioni (MB)
Inserisci la quantità massima di spazio che deve essere utilizzato dalle strutture di progettazione fisica consigliate dall'Advisor per l'ottimizzazione del motore di database.

Se non viene immesso alcun valore, l'Ottimizzazione guidata del motore di database utilizzerà il valore più piccolo tra i limiti di spazio seguenti.

  • Valore triplo della dimensione corrente dei dati non elaborati, incluse la dimensione complessiva degli heap e degli indici raggruppati nelle tabelle del database.

  • Lo spazio disponibile su tutte le unità disco collegate sommato alle dimensioni dei dati non elaborati.

Includi eventi della cache dei piani da tutti i database
Specifica che gli eventi della cache dei piani di tutti i database vengono analizzati.

Massimo. colonne per indice
Consente di specificare il numero massimo di colonne da includere in ogni indice. Il valore predefinito è 1023.

Tutte le raccomandazioni sono offline
Generare le migliori raccomandazioni possibili, ma non raccomandare che venga creata online alcuna struttura fisica di progettazione.

Genera indicazioni online quando possibile
Durante la creazione di istruzioni Transact-SQL per l'implementazione delle indicazioni, questa opzione consente di scegliere metodi che possono essere implementati quando il server è online, anche se è disponibile un metodo offline più veloce.

Genera solo indicazioni online
Fornire solo raccomandazioni che consentono al server di rimanere online.

Fermati a
Consente di specificare la data e l'ora a cui l'Advisor di ottimizzazione del motore di database deve interrompersi.

Indici e viste indicizzate
Selezionare questa casella per includere indicazioni per l'aggiunta di indici cluster, indici non cluster e viste indicizzate.

Viste indicizzate
Vengono incluse solo le indicazioni per l'aggiunta di viste indicizzate. Non saranno raccomandati gli indici clusterizzati e non clusterizzati.

Includi indici filtrati
Includere raccomandazioni per l'aggiunta di indici filtrati. Questa opzione è disponibile se si seleziona una delle strutture di progettazione fisiche Indici e viste indicizzate, Indicio Indici non cluster.

Indici
Vengono incluse solo le raccomandazioni per aggiungere indici cluster e non cluster. Non verranno consigliate le viste indicizzate.

Indici non clusterizzati
Includi raccomandazioni solo per gli indici non-cluster. Non verranno raccomandati indici clusterizzati e viste indicizzate.

Valuta l'utilizzo dei PDS esistenti solo
Consente di valutare l'efficacia degli indici correnti senza che vengano generate indicazioni per le viste indicizzate o gli indici aggiuntivi.

Nessun partizionamento.
Non consigliare il partizionamento.

Partizionamento completo
Includere le raccomandazioni per il partizionamento.

Partizionamento allineato
Le nuove partizioni consigliate verranno allineate in modo da rendere più semplice la manutenzione.

Non mantenere alcun PDS esistente
Viene consigliata l'eliminazione degli indici, delle viste e delle partizioni esistenti non necessari. Se una struttura di progettazione fisica esistente è utile al carico di lavoro, il Database Engine Tuning Advisor consiglia di non eliminarla.

Mantieni solo gli indici
Tutti gli indici esistenti vengono mantenuti, ma viene consigliata l'eliminazione delle viste indicizzate e delle partizioni non necessarie.

Mantieni tutti i PDS esistenti
Vengono mantenuti tutti gli indici, le viste indicizzate e le partizioni esistenti.

Mantieni solo gli indici cluster
Tutti gli indici esistenti vengono mantenuti, ma viene consigliata l'eliminazione delle viste indicizzate, delle partizioni e degli indici non cluster non necessari.

Mantieni partizionamento allineato
Vengono mantenute le strutture di partizionamento attualmente allineate, ma viene consigliata l'eliminazione delle viste indicizzate, degli indici e delle partizioni non allineate non necessari. Qualsiasi partizionamento aggiuntivo consigliato verrà allineato allo schema di partizione corrente.

Opzioni della scheda Progresso

La scheda Stato dell'Ottimizzazione guidata motore di database viene visualizzata dopo che l'Ottimizzazione guidata motore di database ha iniziato l'analisi di un carico di lavoro.

Per arrestare la sessione di ottimizzazione una volta avviata, scegliere una delle opzioni seguenti dal menu Azioni :

  • Interrompe Analisi (Con Raccomandazioni) interrompe la sessione di ottimizzazione e ti invita a decidere se desideri che il Consulente di ottimizzazione del motore di database generi raccomandazioni basate sull'analisi effettuata fino a questo punto.

  • Arresta analisi per arrestare la sessione di ottimizzazione senza che vengano generate indicazioni.

Progresso della calibrazione
Indica lo stato di avanzamento corrente. Sono inclusi il numero di azioni eseguite e il numero di messaggi di errore, di esito positivo e di avviso ricevuti.

Dettagli
Include un'icona che indica lo stato.

Azione
Visualizza i passaggi in esecuzione.

Stato
Visualizza lo stato del passo dell'azione.

Messaggio
Include gli eventuali messaggi restituiti dai passaggi dell'azione.

Log di ottimizzazione
Contiene informazioni riguardanti questa sessione di ottimizzazione. Per stampare il log fare clic con il pulsante destro del mouse sul log e quindi scegliere Stampa.

Vedi anche

Visualizzare e lavorare con l'output dell'Advisor per l'ottimizzazione del motore di database
dta Utility
Esercitazione: Strumento di ottimizzazione guidata per il motore di database