Share via


Determinazione degli eventi che è possibile ottimizzare

Se Ottimizzazione guidata Motore di database di SQL Server non ottimizza un evento, tale evento verrà scritto in un log di ottimizzazione. Nell'interfaccia utente grafica (GUI) di Ottimizzazione guidata Motore di database di SQL Server, è possibile selezionare Salva log di ottimizzazione nella scheda Generale e visualizzare il log nel riquadro inferiore della scheda Stato. Nell'utilità dta, è possibile specificare l'argomento -e per indicare un nome di file e una posizione del log di ottimizzazione. Per ulteriori informazioni, vedere Procedura: Visualizzazione dell'output dell'ottimizzazione.

Mancata ottimizzazione di un evento in Ottimizzazione guidata motore di database

Tra i motivi più comuni per i quali Ottimizzazione guidata Motore di database di SQL Server non esegue l'ottimizzazione di un evento sono inclusi i seguenti:

  • Un carico di lavoro fa riferimento a tabelle che non sono state selezionate per l'ottimizzazione dall'utente.

  • Un carico di lavoro fa riferimento a tabelle di dimensioni minime, ad esempio tabelle che contengono meno di 10 pagine di dati.

  • Ottimizzazione guidata Motore di database di SQL Server non è in grado di ottimizzare il carico di lavoro entro il limite di tempo specificato.

Per ulteriori informazioni, vedere Motivi della mancata ottimizzazione degli eventi.

Eventi che possono essere ottimizzati

Il modo più semplice per determinare se Ottimizzazione guidata Motore di database di SQL Server è in grado di ottimizzare un evento consiste nel verificare se è possibile ottenere un output Showplan per l'evento specifico. Utilizzare SQL Server Management Studio per determinare se è possibile ottenere un output di Showplan. Ottimizzazione guidata Motore di database di SQL Server può ottimizzare l'evento solo se il server genera un output Showplan per l'evento nel database in cui l'evento è stato eseguito. Per ulteriori informazioni, vedere Visualizzazione dei piani di esecuzione grafici (SQL Server Management Studio).

Generazione di indicazioni per l'eliminazione di un numero elevato di oggetti in Ottimizzazione guidata motore di database

Se Ottimizzazione guidata Motore di database di SQL Server genera un numero elevato di indicazioni per l'eliminazione di strutture di progettazione fisica, ciò può essere dovuto ai motivi seguenti:

  • Se il carico di lavoro è di piccole dimensioni o fa riferimento a un piccolo subset di strutture di progettazione fisica, è possibile che Ottimizzazione guidata Motore di database di SQL Server indichi di eliminare la parte rimanente delle strutture di progettazione fisica perché il carico di lavoro non vi fa riferimento. La procedura guidata presume che il carico di lavoro sia rappresentativo del carico di lavoro normale nel server e genera le indicazioni in base a questo presupposto.

  • Se la maggior parte delle query nel carico di lavoro viene ignorata e pertanto viene generato un numero elevato di indicazioni per l'eliminazione delle strutture di progettazione fisica, ciò può essere dovuto ai motivi seguenti:

    • Se si utilizza l'utilità dta, sono stati specificati database non corretti per l'argomento -d.

    • La maggior parte delle query nel carico di lavoro fa riferimento a tabelle di piccole dimensioni che contengono meno di 10 pagine di dati.

    • La maggior parte delle istruzioni Transact-SQL nel carico di lavoro non fa riferimento a oggetti ottimizzabili, ad esempio se il carico di lavoro contiene numerose istruzioni SET o DECLARE.

Per stabilire il motivo per il quale Ottimizzazione guidata Motore di database di SQL Server genera un numero elevato di indicazioni per l'eliminazione, controllare i messaggi del log di ottimizzazione. Per ulteriori informazioni, vedere Informazioni sul log di ottimizzazione.