Valutazione delle procedure consigliate di SQL per SQL Server in macchine virtuali di Azure

Si applica a: SQL Server nella macchina virtuale di Azure

La funzionalità di valutazione delle procedure consigliate di SQL del portale di Azure identifica i possibili problemi di prestazioni e valuta che la SQL Server in Azure Macchine virtuali (VM) sia configurata per seguire le procedure consigliate usando il set di regole avanzato fornito dall'API Valutazione SQL.

Per altre informazioni, guardare questo video sulla valutazione delle procedure consigliate di SQL:

Panoramica

Dopo aver abilitato la funzionalità di valutazione delle procedure consigliate di SQL, l'istanza e i database di SQL Server vengono analizzati per fornire raccomandazioni come indici, funzionalità deprecate, flag di traccia abilitati o mancanti, statistiche e così via. Le raccomandazioni vengono visualizzate nella pagina di gestione delle macchine virtuali SQL del portale di Azure.

I risultati della valutazione vengono caricati nell'area di lavoro Log Analytics usando Microsoft Monitoring Agent (MMA). Se la macchina virtuale è già configurata per l'uso di Log Analytics, la funzionalità di valutazione delle procedure consigliate di SQL usa la connessione esistente. In caso contrario, l'estensione MMA viene installata nella macchina virtuale SQL Server e connessa all'area di lavoro Log Analytics specificata.

Il tempo di esecuzione della valutazione dipende dall'ambiente (numero di database, oggetti e così via), con una durata compresa tra alcuni minuti e un'ora. Analogamente, le dimensioni del risultato della valutazione dipendono anche dall'ambiente in uso. La valutazione viene eseguita sull'istanza e su tutti i database in tale istanza. Nel test è stato osservato che un'esecuzione della valutazione può avere un impatto fino al 5-10% della CPU sul computer. In questi test la valutazione è stata eseguita durante l'esecuzione di un'applicazione simile al TPC-C rispetto al SQL Server.

Prerequisiti

Per usare la funzionalità di valutazione delle procedure consigliate di SQL, è necessario disporre dei prerequisiti seguenti:

Abilita

È possibile abilitare le valutazioni consigliate di SQL usando il portale di Azure o l'interfaccia della riga di comando di Azure.

Per abilitare le valutazioni consigliate di SQL usando il portale di Azure, seguire questa procedura:

  1. Accedere alla portale di Azure e passare alla risorsa della macchina virtuale SQL Server.
  2. Selezionare Valutazioni consigliate sql in Impostazioni.
  3. Selezionare Abilita valutazioni consigliate SQL o Configurazione per passare alla pagina Configurazione .
  4. Selezionare la casella Enable SQL best practices assessments (Abilita valutazioni consigliate SQL) e specificare quanto segue:
    1. Area di lavoro Log Analytics in cui verranno caricate le valutazioni. Se la macchina virtuale SQL Server non è stata associata in precedenza a un'area di lavoro, scegliere un'area di lavoro esistente nella sottoscrizione dall'elenco a discesa. In caso contrario, l'area di lavoro associata in precedenza è già popolata.
    2. Pianificazione esecuzione. È possibile scegliere di eseguire valutazioni su richiesta o automaticamente in base a una pianificazione. Se si sceglie una pianificazione, specificare la frequenza (settimanale o mensile), il giorno della settimana, la ricorrenza (ogni 1-6 settimane) e l'ora del giorno in cui le valutazioni devono iniziare (ora da locale a macchina virtuale).
  5. Selezionare Applica per salvare le modifiche e distribuire Microsoft Monitoring Agent nella macchina virtuale SQL Server, se non è già stata distribuita. Una notifica di portale di Azure indica quando la funzionalità di valutazione delle procedure consigliate di SQL è pronta per la macchina virtuale SQL Server.

Valutare SQL Server macchina virtuale

Le valutazioni vengono eseguite:

  • In base a una pianificazione
  • On demand

Eseguire la valutazione pianificata

È possibile configurare la valutazione in base a una pianificazione usando il portale di Azure e l'interfaccia della riga di comando di Azure.

Se si imposta una pianificazione nel pannello di configurazione, una valutazione viene eseguita automaticamente alla data e all'ora specificate. Scegliere Configurazione per modificare la pianificazione della valutazione. Dopo aver specificato una nuova pianificazione, la pianificazione precedente viene sovrascritta.

Eseguire la valutazione su richiesta

Dopo aver abilitato la funzionalità di valutazione delle procedure consigliate SQL per la macchina virtuale SQL Server, è possibile eseguire una valutazione su richiesta usando il portale di Azure o l'interfaccia della riga di comando di Azure.

Per eseguire una valutazione su richiesta usando il portale di Azure, selezionare Esegui valutazione nel pannello Valutazione delle procedure consigliate SQL della pagina delle risorse della macchina virtuale portale di Azure SQL Server.

Visualizzazione dei risultati

La sezione Risultati valutazioni della pagina Valutazioni consigliate sql mostra un elenco delle esecuzioni di valutazione più recenti. Ogni riga visualizza l'ora di inizio di un'esecuzione e lo stato, ovvero pianificato, in esecuzione, caricamento dei risultati, completato o non riuscito. Ogni esecuzione della valutazione ha due parti: valuta l'istanza e carica i risultati nell'area di lavoro Log Analytics. Il campo stato copre entrambe le parti. I risultati della valutazione vengono visualizzati nelle cartelle di lavoro di Azure.

Accedere alla cartella di lavoro di Azure dei risultati della valutazione in tre modi:

  • Selezionare il pulsante Visualizza valutazione con esito positivo più recente nella pagina Valutazioni consigliate di SQL .
  • Scegliere un'esecuzione completata nella sezione Risultati valutazione della pagina Valutazioni consigliate SQL .
  • Selezionare Visualizza i risultati della valutazione nelle prime 10 raccomandazioni visualizzate nella pagina Panoramica della risorsa macchina virtuale SQL.

Dopo aver aperto la cartella di lavoro, è possibile usare l'elenco a discesa per selezionare le esecuzioni precedenti. È possibile visualizzare i risultati di una singola esecuzione usando la pagina Risultati o esaminare le tendenze cronologiche usando la pagina Tendenze .

Pagina dei risultati

La pagina Risultati organizza le raccomandazioni usando le schede per Tutti, nuovo, risolto. Usare queste schede per visualizzare tutte le raccomandazioni dell'esecuzione corrente, tutte le nuove raccomandazioni (il delta delle esecuzioni precedenti) o le raccomandazioni risolte dalle esecuzioni precedenti. Le schede consentono di tenere traccia dello stato di avanzamento tra le esecuzioni. La scheda Insights identifica i problemi più ricorrenti e i database con la maggior parte dei problemi. Usarli per decidere dove concentrare gli sforzi.

Il grafico raggruppa i risultati della valutazione in diverse categorie di gravità, ovvero alta, media, bassa e informazioni. Selezionare ogni categoria per visualizzare l'elenco di raccomandazioni o cercare frasi chiave nella casella di ricerca. È consigliabile iniziare con le raccomandazioni più severe e scendere nell'elenco.

La prima griglia mostra ogni raccomandazione e il numero di istanze che l'ambiente ha riscontrato. Quando si seleziona una riga nella prima griglia, nella seconda griglia vengono elencate tutte le istanze per tale raccomandazione specifica. Se non è presente alcuna selezione nella prima griglia, la seconda griglia mostra tutte le raccomandazioni. Potenzialmente questo potrebbe essere un grande elenco. È possibile usare gli elenchi a discesa sopra la griglia (Nome, Gravità, Tag, Check Id) per filtrare i risultati. È anche possibile usare Esporta in Excel e Aprire l'ultima query di esecuzione nelle opzioni di visualizzazione Log selezionando le piccole icone nell'angolo superiore destro di ogni griglia.

La sezione passata del grafico identifica le raccomandazioni già riportate nel sistema.

Visualizzare informazioni dettagliate per ogni raccomandazione selezionando il campo Messaggio , ad esempio una descrizione lunga e le risorse online pertinenti.

Nella pagina Tendenze sono disponibili tre grafici per visualizzare le modifiche nel tempo: tutti i problemi, i nuovi problemi e i problemi risolti. I grafici consentono di visualizzare lo stato di avanzamento. Idealmente, il numero di raccomandazioni dovrebbe scendere mentre il numero di problemi risolti sale. La legenda mostra il numero medio di problemi per ogni livello di gravità. Passare il puntatore sulle barre per visualizzare le singole vales per ogni esecuzione.

Se sono presenti più esecuzioni in un singolo giorno, solo l'esecuzione più recente viene inclusa nei grafici nella pagina Tendenze .

Abilitare per tutte le macchine virtuali in una sottoscrizione

È possibile usare l'interfaccia della riga di comando di Azure per abilitare la funzionalità di valutazione delle procedure consigliate di SQL in tutte le macchine virtuali SQL Server all'interno di una sottoscrizione. A tale scopo, usare lo script di esempio seguente:

# This script is formatted for use with Az CLI on Windows PowerShell. You may need to update the script for use with Az CLI on other shells.
# This script enables SQL best practices assessment feature for all SQL Servers on Azure VMs in a given subscription. It configures the VMs to use a Log Analytics workspace to upload assessment results. It sets a schedule to start an assessment run every Sunday at 11pm (local VM time).
# Please note that if a VM is already associated with another Log Analytics workspace, it will give an error.
 
$subscriptionId = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'
# Resource Group where the Log Analytics workspace belongs
$myWsRg = 'myWsRg'
# Log Analytics workspace where assessment results will be stored
$myWsName = 'myWsName'
 
# Ensure in correct subscription
az account set --subscription $subscriptionId
 
$sqlvms = az sql vm list | ConvertFrom-Json 
 
foreach ($sqlvm in $sqlvms)
{
  echo "Configuring feature on $($sqlvm.id)"
  az sql vm update --assessment-weekly-interval 1 --assessment-day-of-week Sunday --assessment-start-time-local "23:00" --workspace-name $myWsName --workspace-rg $myWsRg -g $sqlvm.resourceGroup -n $sqlvm.name
  
  # Alternatively you can use this command to only enable the feature without setting a schedule
  # az sql vm update --enable-assessment true --workspace-name $myWsName --workspace-rg $myWsRg -g $sqlvm.resourceGroup -n $sqlvm.name  
 
  # You can use this command to start an on-demand assessment on each VM
  # az sql vm start-assessment -g $sqlvm.resourceGroup -n $sqlvm.name
}

Problemi noti

È possibile che si verifichino alcuni dei problemi noti seguenti quando si usano le valutazioni delle procedure consigliate di SQL.

Errore di configurazione per Abilitare la valutazione delle procedure consigliate sql

Se la macchina virtuale è già associata a un'area di lavoro Log Analytics a cui non si ha accesso o che si trova in un'altra sottoscrizione, verrà visualizzato un errore nel pannello di configurazione. Per il primo, è possibile ottenere le autorizzazioni per tale area di lavoro o passare alla macchina virtuale in un'area di lavoro Log Analytics diversa seguendo queste istruzioni per rimuovere Microsoft Monitoring Agent.

Errore di distribuzione per Abilitare o eseguire la valutazione

Fare riferimento alla cronologia di distribuzione del gruppo di risorse contenente la macchina virtuale SQL per visualizzare il messaggio di errore associato all'azione non riuscita.

Valutazioni non riuscite

Se la valutazione o il caricamento dei risultati non sono riusciti per qualche motivo, lo stato dell'esecuzione indicherà l'errore. Facendo clic sullo stato verrà aperto un riquadro di contesto in cui è possibile visualizzare i dettagli sull'errore e sui possibili modi per risolvere il problema.

Suggerimento

Se è stato applicato TLS 1.0 o versione successiva in Windows e sono stati disabilitati i protocolli SSL meno recenti, come descritto qui, è anche necessario assicurarsi che .NET Framework sia configurato per l'uso di crittografia complessa.

Passaggi successivi