Condividi tramite


Informazioni sullo stato dell'ottimizzazione

È possibile monitorare lo stato dell'ottimizzazione sia tramite l'interfaccia utente grafica (GUI) di Ottimizzazione guidata motore di database che tramite l'utilità da riga di comando dta. Il monitoraggio dello stato dell'ottimizzazione consente di determinare se il carico di lavoro utilizzato è efficace, nonché di individuare i problemi senza sprecare tempo eccessivo. Nelle sezioni seguenti viene illustrato come eseguire il monitoraggio del carico di lavoro in entrambe le interfacce utente. In questo argomento viene inoltre illustrato l'ordine di ottimizzazione degli eventi seguito da Ottimizzazione guidata motore di database in base ai diversi tipi di carico di lavoro utilizzati.

Monitoraggio dello stato dell'ottimizzazione tramite l'interfaccia utente grafica

Quando si inizia ad analizzare un carico di lavoro tramite l'interfaccia utente grafica (GUI) di Ottimizzazione guidata motore di database, lo stato del processo di ottimizzazione viene automaticamente visualizzato nella scheda Stato. Questa pagina a schede è composta da tre riquadri. Nel riquadro superiore vengono visualizzati un'immagine animata e valori che cambiano con l'avanzamento della sessione di ottimizzazione. Nel riquadro centrale sono disponibili informazioni dettagliate sullo stato dell'ottimizzazione. Nel riquadro inferiore viene visualizzato il log di ottimizzazione, che viene aggiornato periodicamente con l'avanzamento del processo e consente in tal modo di monitorare la sessione.

Per interrompere Ottimizzazione guidata motore di database prima del completamento dell'elaborazione di un carico di lavoro, fare clic su Interrompi analisi sulla barra degli strumenti. Quando una sessione viene interrotta, tramite Ottimizzazione guidata motore di database vengono generate le migliori indicazioni possibili per la quantità di carico di lavoro utilizzata.

[!NOTA]

L'ottimizzazione non implica solo l'utilizzo del carico di lavoro, ma anche l'analisi delle query e la generazione di indicazioni e report. L'ottimizzazione può essere un processo dispendioso che richiede ulteriore tempo. Per essere certi che il carico di lavoro venga utilizzato e che Ottimizzazione guidata motore di database disponga di tempo sufficiente per la generazione delle indicazioni e dei report, specificare un tempo di ottimizzazione illimitato. A tale scopo, deselezionare la casella di controllo Limita tempo di ottimizzazione nella scheda Opzioni di ottimizzazione.

Monitoraggio dello stato dell'ottimizzazione tramite la riga di comando

Tramite l'utilità da riga di comando dta vengono fornite due indicazioni fondamentali relative allo stato. Per impostazione predefinita, durante l'ottimizzazione dei carichi di lavoro tramite dta vengono visualizzate le informazioni seguenti:

  • Carico di lavoro elaborato

    Indica la parte di tutti gli eventi nel carico di lavoro utilizzata fino a quel momento da Ottimizzazione guidata motore di database. Se l'ottimizzazione viene interrotta in un punto qualsiasi, indica la frazione del carico di lavoro a cui si riferiscono le indicazioni generate da Ottimizzazione guidata motore di database. Se si consente l'analisi di un'ulteriore parte del carico di lavoro, le indicazioni potrebbero venire modificate.

    Quando si specifica un tempo di ottimizzazione limitato, l'ottimizzazione viene interrotta solo quando il valore di Carico di lavoro elaborato raggiunge il 100%. Si noti che l'ottimizzazione non implica solo l'utilizzo del carico di lavoro, ma anche l'analisi delle query e la generazione di indicazioni e report. L'ottimizzazione può essere un processo dispendioso che richiede ulteriore tempo. Per essere certi che il carico di lavoro venga utilizzato e che Ottimizzazione guidata motore di database disponga di tempo sufficiente per la generazione delle indicazioni e dei report, specificare un tempo di ottimizzazione illimitato. A tale scopo, impostare l'opzione -A su 0.

  • Miglioramento stimato

In qualsiasi momento nel corso del processo di ottimizzazione, questo numero rappresenta il miglioramento delle prestazioni stimato nel caso in cui vengano implementate le indicazioni generate fino a quel momento da Ottimizzazione guidata motore di database.

Se si desidera interrompere Ottimizzazione guidata motore di database prima del completamento dell'elaborazione di un carico di lavoro, premere CTRL+C.

Ordine di ottimizzazione degli eventi

Gli eventi nel carico di lavoro possono essere ottimizzati in ordine sequenziale, ovvero nell'ordine in cui appaiono nel carico di lavoro, oppure in ordine di durata. Se il carico di lavoro è un file script di Transact-SQL, gli eventi vengono ottimizzati in ordine sequenziale. Analogamente, se il carico di lavoro è un file di traccia o una tabella di traccia e la traccia non contiene la colonna Duration, gli eventi vengono ottimizzati in ordine sequenziale.

Se il file di traccia o la tabella di traccia contiene la colonna Duration, gli eventi vengono ottimizzati in base all'ordine decrescente del valore Duration, in modo che le query che richiedono più tempo per l'esecuzione vengano ottimizzate per prime.