Ottimizzazione del database tramite un carico di lavoro dell'archivio queryTuning Database Using Workload from Query Store

QUESTO ARGOMENTO SI APPLICA A:sìSQL Server (a partire dalla versione 2016)noDatabase SQL di AzurenoAzure SQL Data WarehousenoParallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL Server (starting with 2016)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

La funzionalità Archivio query di SQL Server acquisisce automaticamente una cronologia delle query, dei piani e delle statistiche di runtime e conserva queste informazioni nel database.The Query Store feature in SQL Server automatically captures a history of queries, plans, and runtime statistics, and persists this information in the database. Ottimizzazione guidata motore di database (DTA) supporta una nuova opzione che consente di usare l'archivio query per selezionare automaticamente un carico di lavoro appropriato per l'ottimizzazione.The Database Engine Tuning Advisor (DTA) supports a new option to use the Query Store to automatically select an appropriate workload for tuning. Per molti utenti, questo può eliminare la necessità di raccogliere esplicitamente un carico di lavoro per l'ottimizzazione.For many users, this can take away the need to explicitly collect a workload for tuning. Questa funzionalità è disponibile solo se nel database è attivata la funzionalità Archivio query.This feature is only available if the database has the Query Store feature turned on.

Questa funzionalità è disponibile con SQL Server Management Studio 16.4 o versione successiva.This feature is available with SQL Server Management Studio version 16.4 or higher.

Come ottimizzare un carico di lavoro dall'archivio query nella GUI di Ottimizzazione guidata motore di DatabaseHow To Tune a Workload from Query Store in Database Engine Tuning Advisor GUI

Nella GUI di DTA selezionare il pulsante di opzione Archivio query nel riquadro Generale per abilitare la funzionalità (vedere la figura seguente).From the DTA GUI, select the radio button Query Store in the General pane to enable this feature (see figure below). Carico di lavoro DTA dall'archivio queryDTA workload from query store

Come ottimizzare un carico di lavoro dall'archivio query nell'utilità della riga di comando dta.exeHow To Tune a Workload from Query Store in dta.exe command line Utility

Dalla riga di comando (dta.exe) scegliere l'opzione -iq per selezionare il carico di lavoro dall'archivio query.From the command line (dta.exe), choose the -iq option to select the workload from Query Store.

Tramite la riga di comando sono disponibili altre due opzioni che consentono di regolare il comportamento di DTA quando si seleziona il carico di lavoro dall'archivio query.There are two additional options available via the command line that helps tune the behavior of DTA when selecting the workload from Query Store. Queste opzioni non disponibili tramite la GUI:These options not available via the GUI:

  1. Numero di eventi del carico di lavoro da ottimizzare: questa opzione, specificata usando l'argomento della riga di comando -n, consente all'utente di controllare il numero di eventi da Archivio query ottimizzati.Number of workload events to tune: This option, specified using -n command line argument, allows the user to control how many events from the Query Store are tuned. Per impostazione predefinita, DTA usa il valore 1000 per questa opzione.By default, DTA uses a value of 1000 for this option. Si noti che DTA sceglie sempre gli eventi con costo più elevato in termini di durata totale.Note that DTA always chooses the most expensive events by total duration.

  2. Intervalli di tempo degli eventi da ottimizzare: poiché l'archivio query può contenere query eseguite molto tempo fa, questa opzione consente all'utente di specificare un intervallo di tempo precedente (in ore) in cui una query deve essere stata eseguita per essere considerata da DTA per l'ottimizzazione.Time windows of events to tune: Since the Query Store may contain queries that have executed a long time ago, this option allows the user to specify a past time window (in hours) when a query must have executed for it to be considered by DTA for tuning. Questa opzione si specifica usando l'argomento della riga di comando -I.This option is specified using -I command line argument.

Per altre informazioni, vedere l'argomento sull'utilità dta.See dta Utilty for more information.

Differenza tra l'uso del carico di lavoro dall'archivio query e dalla cache dei pianiDifference between using Workload from Query Store and Plan Cache

La differenza tra le opzioni Archivio query e Cache dei piani è che il primo contiene una cronologia più lunga delle query eseguite sul database, conservate tra i riavvii del server.The difference between the Query Store and Plan Cache options is that the former contains a longer history of queries that have executed against the database, persisted across server restarts. D'altra parte, la cache dei piani contiene solo un subset di query eseguite di recente i cui piani sono memorizzati nella cache.On the other hand, the Plan Cache only contains a subset of recently-executed queries whose plans are cached in memory. Quando il server viene riavviato, le voci nella cache dei piani vengono eliminate.When the server restarts, the entries in the Plan Cache are discarded.

Vedere ancheSee Also

Ottimizzazione guidata motore di database Database Engine Tuning Advisor
Esercitazione: Strumento Ottimizzazione guidata motore di database Tutorial: Database Engine Tuning Advisor
Come Archivio query raccoglie i dati How Query Store Collects Data
Archivio query, procedure consigliateQuery Store Best Practices