Abilitare l'ottimizzazione automatica nel portale di Azure per monitorare le query e migliorare le prestazioni del carico di lavoro

Si applica a: Database SQL di Azure Istanza gestita di SQL di Azure

Il database SQL di Azure gestisce automaticamente i servizi dati che eseguono un monitoraggio costante delle query e identifica l'azione che è possibile eseguire per migliorare le prestazioni del carico di lavoro. È possibile esaminare le raccomandazioni e applicarle manualmente oppure delegare al database SQL di Azure l'applicazione automatica delle azioni correttive, condizione nota come modalità di ottimizzazione automatica.

L'ottimizzazione automatica può essere abilitata a livello di server o di database tramite:

Nota

Per Istanza gestita di SQL di Azure, l'opzione supportata FORCE_LAST_GOOD_PLAN può essere configurata solo attraverso T-SQL. La configurazione basata su portale di Azure e le opzioni di ottimizzazione automatica di indicizzazione descritte in questo articolo non si applicano a Istanza gestita di SQL di Azure.

Nota

La configurazione delle opzioni di ottimizzazione automatica tramite il modello ARM (Azure Resource Manager) non è attualmente supportata.

Abilitare l'ottimizzazione automatica nel server

A livello di server è possibile scegliere di ereditare o meno la configurazione dell'ottimizzazione automatica da "Impostazioni predefinite di Azure". Le impostazioni predefinite di Azure sono FORCE_LAST_GOOD_PLAN (abilitata), CREATE_INDEX (disabilitata) e DROP_INDEX (disabilitata).

Azure portal

Per abilitare l'ottimizzazione automatica in un server di database SQL di Azure, passare al server nel portale di Azure e quindi selezionare Ottimizzazione automatica nel menu.

Screenshot che mostra l'ottimizzazione automatica nel portale di Azure, dove è possibile applicare le opzioni per un server.

Selezionare le opzioni di ottimizzazione automatica che si vuole abilitare e selezionare Applica.

Le opzioni di ottimizzazione automatica in un server vengono applicate a tutti i database nel server stesso. Per impostazione predefinita, tutti i database ereditano la configurazione dal server padre corrispondente, ma è possibile sostituire questa impostazione e specificarne una distinta per ogni database.

REST API

Per trovare altre informazioni sull'uso dell'API REST per abilitare l'ottimizzazione automatica in un server, vedere Metodi HTTP UPDATE e GET per l'ottimizzazione automatica del Server.

Abilitare l'ottimizzazione automatica per un database singolo

Il database SQL di Azure consente di specificare singolarmente la configurazione di ottimizzazione automatica per ciascun database. A livello di database è possibile scegliere di ereditare o meno la configurazione dell'ottimizzazione automatica dal server padre o da "Impostazioni predefinite di Azure". Le impostazioni predefinite di Azure sono FORCE_LAST_GOOD_PLAN (abilitata), CREATE_INDEX (disabilitata) e DROP_INDEX (disabilitata).

Suggerimento

In genere è consigliabile gestire la configurazione di ottimizzazione automatica a livello del server, in modo che le stesse impostazioni di configurazione possano essere applicate automaticamente in ogni database. Configurare l'ottimizzazione automatica in un singolo database solo se è necessario che per tale database le impostazioni siano diverse rispetto ai database che ereditano le impostazioni dallo stesso server.

Azure portal

Per abilitare l'ottimizzazione automatica per un singolo database, passare al database nel portale di Azure, quindi selezionare Ottimizzazione automatica.

Singole impostazioni di ottimizzazione automatica possono essere configurate separatamente per ogni database. È possibile configurare manualmente una singola opzione di ottimizzazione automatica o specificare che un'opzione deve ereditare le impostazioni dal server.

Screenshot che mostra l'ottimizzazione automatica nel portale di Azure, dove è possibile applicare le opzioni per un database singolo.

Dopo aver selezionato la configurazione desiderata, fare clic su Applica.

REST API

Per trovare altre informazioni sull'uso di un’API REST per abilitare l'ottimizzazione automatica in un database singolo, vedere Metodi HTTP UPDATE e GET per l'ottimizzazione automatica del database SQL di Azure.

T-SQL

Per abilitare l'ottimizzazione automatica per un singolo database con Transact-SQL, connettersi al database ed eseguire la query seguente:

ALTER DATABASE current SET AUTOMATIC_TUNING = AUTO | INHERIT | CUSTOM

L'impostazione dell'ottimizzazione automatica su AUTO verrà applicata alle impostazioni predefinite di Azure. Se viene impostata su INHERIT, la configurazione dell'ottimizzazione automatica verrà ereditata dal server padre. Se si sceglie CUSTOM, l'ottimizzazione automatica dovrà essere configurata manualmente.

Per configurare le singole opzioni di ottimizzazione automatica con Transact-SQL, connettersi al database ed eseguire la query seguente:

ALTER DATABASE current SET AUTOMATIC_TUNING (FORCE_LAST_GOOD_PLAN = ON, CREATE_INDEX = ON, DROP_INDEX = OFF)

Impostando l'opzione di ottimizzazione specifica su ON viene eseguito l'override di qualsiasi impostazione ereditata dal database e viene abilitata l'opzione di ottimizzazione specifica. Se la stessa viene impostata su OFF, verrà eseguito l'override di qualsiasi impostazione ereditata dal database, ma l'opzione di ottimizzazione specifica verrà disabilitata. L'opzione di ottimizzazione automatica impostata su DEFAULT fa sì che la configurazione dell’ottimizzazione automatica verrà ereditata dalle impostazioni a livello di server.

Importante

Nel caso di una replica geografica attiva, l'ottimizzazione automatica deve essere configurata solo nel database primario. Le azioni di ottimizzazione applicate automaticamente, ad esempio la creazione o l'eliminazione dell'indice, verranno replicate automaticamente nei database secondari con replica geografica. Se si tenta di abilitare l'ottimizzazione automatica tramite T-SQL nel database secondario di sola lettura, si verificherà un errore poiché una configurazione di ottimizzazione diversa per il database secondario di sola lettura non è supportata.

Per trovare altre informazioni sulle opzioni di T-SQL per configurare l'ottimizzazione automatica, vedere Opzioni ALTER DATABASE SET (Transact-SQL).

Risoluzione dei problemi

Gestione automatica dei consigli disabilitata

In caso di messaggi di errore che indicano che la gestione automatica dei consigli è stata disabilitata o che semplicemente è stata disabilitata dal sistema, le cause più comuni sono:

  • Query Store non è abilitato o
  • Query Store è in modalità di sola lettura per un database specifico o
  • Query Store ha interrotto l'esecuzione perché ha esaurito lo spazio di archiviazione assegnato.

È possibile attenersi a questa procedura per rettificare il problema:

  • Pulire Query Store o modificare il periodo di conservazione dei dati in "automatico" usando T-SQL, oppure aumentare le dimensioni massime di Query Store. Vedere come configurare i criteri di conservazione e acquisizione consigliati per Query Store.
  • Usare SQL Server Management Studio (SSMS) e attenersi alla procedura seguente:
    • Connettersi al database SQL di Azure
    • Fare clic con il pulsante destro del mouse sul database
    • Passare a Proprietà, quindi fare clic su Query Store
    • Modificare la modalità operativa in Lettura/Scrittura
    • Modificare la modalità di acquisizione dello Store in Automatico
    • Modificare la modalità di pulizia basata sulle dimensioni in Automatico

Autorizzazioni

Per database SQL di Azure, la gestione dell'ottimizzazione automatica nel portale di Azure o l'uso di PowerShell o dell'API REST richiede l'appartenenza ai ruoli predefiniti Controllo degli accessi in base al ruolo di Azure.

Per gestire l'ottimizzazione automatica, l'autorizzazione minima necessaria da concedere all'utente è l'appartenenza al ruolo Collaboratore database SQL. È anche possibile prendere in considerazione l'uso di ruoli con privilegi più elevati, ad esempio Collaboratore SQL Server, Collaboratore e Proprietario.

Per le autorizzazioni necessarie per gestire l'ottimizzazione automatica con T-SQL, vedere Autorizzazioni per ALTER DATABASE.

Configurare notifiche tramite posta elettronica per l'ottimizzazione automatica

Per ricevere notifiche email automatizzate sui consigli forniti dall'ottimizzazione automatica, vedere la guida alle notifiche email sull’ottimizzazione automatica.

Passaggi successivi