Precedenza della modalità di ottimizzazione: quando l'utilità dta esegue l'override dell'input di ottimizzazione XML

È possibile specificare le opzioni di ottimizzazione in molti modi, utilizzando l'utilità della riga di comando dta. Le opzioni di ottimizzazione possono essere specificate nel prompt dei comandi o nel file di input XML utilizzato con l'utilità dta oppure in entrambe le posizioni contemporaneamente, se si riutilizza un file di input XML e si desidera modificare le opzioni di ottimizzazione incluse nel file immettendo opzioni diverse nel prompt dei comandi. Quando si specificano opzioni di ottimizzazione nel prompt dei comandi e nel file di input XML simultaneamente, le opzioni specificate nel prompt dei comandi eseguono l'override delle opzioni specificate nel file XML.

Esempio

Nell'esempio seguente vengono illustrati il file di input XML MyXMLInput.xml e la sintassi utilizzata nel prompt dei comandi per ottimizzare il carico di lavoro specificato nel file di input XML.

MyXMLInput.xml specifica che il set di opzioni di ottimizzazione seguente verrà esaminato da Ottimizzazione guidata motore di database:

  • Solo indici

  • Nessun partizionamento

  • Nessun vincolo per mantenere eventuali strutture di progettazione fisica esistenti

La sintassi utilizzata nel prompt dei comandi specifica invece che il set di opzioni di ottimizzazione seguente verrà esaminato da Ottimizzazione guidata motore di database:

  • Indici e viste indicizzate

  • Nessun partizionamento

  • Vincolo per mantenere eventuali strutture di progettazione fisica esistenti

Quando l'ottimizzazione di questo carico di lavoro viene eseguita da Ottimizzazione guidata motore di database, le opzioni di ottimizzazione immesse nel prompt dei comandi eseguono l'override delle opzioni di ottimizzazione specificate nel file di input XML.

[!NOTA]

Se è stata specificata una configurazione di strutture di progettazione fisica tramite l'elemento CONFIGURATION nel file di input XML, l'opzione -fk NONE immessa nel prompt dei comandi non eseguirà l'override di una configurazione specificata dall'utente in modalità di valutazione. Per ulteriori informazioni, vedere Elemento Configuration (DTA).

MyXMLInput.xml

<?xml version="1.0" encoding="utf-16" ?>
<DTAXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://schemas.microsoft.com/sqlserver/2004/07/dta">
  <DTAInput>
...code removed
    <Workload>
      <File>MyWorkload.sql</File>
    </Workload>
    <TuningOptions>
      <FeatureSet>IDX</FeatureSet>
      <Partitioning>NONE</Partitioning>
      <KeepExisting>NONE</KeepExisting>
    </TuningOptions>
  </DTAInput>
</DTAXML>

Sintassi dell'utilità della riga di comando dta

dta -S MyServer -E -D MyDatabase -ix MyXMLInput.xml -s MySession -fa IDX_IV -fp NONE -fk ALL -ox MyXMLOutput.xml

dove -S specifica il nome del server, -E specifica che Ottimizzazione guidata motore di database utilizza una connessione trusted, -D specifica il nome del database da ottimizzare, -ix specifica il file di input XML e -s specifica il nome della sessione di ottimizzazione. Le opzioni -fa IDX_IV, -fp NONE e -fk ALL specificano rispettivamente che si desidera che Ottimizzazione guidata motore di database prenda in considerazione per le indicazioni risultanti sia gli indici che le viste indicizzate ma non il partizionamento e che vengano mantenuti tutti gli indici, le viste indicizzate e il partizionamento esistenti.