Procedure consigliate per SQL Server nelle macchine virtuali di Azure

Si applica a:SQL Server su VM di Azure

La funzionalità di valutazione delle procedure consigliate di SQL del portale di Azure identifica i possibili problemi di prestazioni e valuta che SQL Server in Azure Macchine virtuali (VM) sia configurato 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 per elementi quali indici, funzionalità deprecate, flag di traccia abilitati o mancanti, statistiche e così via. Consigli vengono visualizzati 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 l'agente di Monitoraggio di Azure (AMA). L'estensione AMA viene installata nella macchina virtuale di SQL Server, se non è già installata e le risorse AMA, ad esempio DCE, DCR vengono create e connesse 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 di alcuni minuti, fino a 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 di valutazione può avere un impatto della CPU fino al 5-10% sul computer. In questi test la valutazione è stata eseguita durante l'esecuzione di un'applicazione simile a TPC-C in SQL Server.

Prerequisiti

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

Abilitare

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

Per abilitare le valutazioni delle procedure consigliate di SQL usando il portale di Azure, seguire questi passaggi:

  1. Accedere al portale di Azure e passare alla risorsa di VM del server SQL.
  2. Selezionare Valutazioni consigliate SQL in Impostazioni.
  3. Selezionare Abilita valutazioni delle procedure consigliate SQL o Configurazione per passare alla pagina Configurazione.
  4. Selezionare la casella Abilita valutazioni delle procedure consigliate SQL e specificare quanto segue:
    1. Area di lavoro Log Analytics in cui verranno caricate le valutazioni. Scegliere un'area di lavoro esistente nella sottoscrizione dall'elenco a discesa.
    2. Scegliere un gruppo di risorse in cui verranno create le risorse dell'agente di Monitoraggio di Azure DCE e DCR. Se si specifica lo stesso gruppo di risorse tra più macchine virtuali di SQL Server, queste risorse vengono riutilizzate.
    3. Pianificazione di 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 locale alla macchina virtuale).
  5. Selezionare Applica per salvare le modifiche e distribuire l'agente di Monitoraggio di Azure nella macchina virtuale di SQL Server, se non è già stato distribuito. Una notifica di portale di Azure indica quando la funzionalità di valutazione delle procedure consigliate SQL è pronta per la macchina virtuale di SQL Server.

Valutare la macchina virtuale SQL Server

Eseguire la valutazione:

  • In base a pianificazione
  • Su richiesta

Eseguire una 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 riquadro 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 Valutazioni On Demand

Dopo aver abilitato la funzionalità di valutazione delle procedure consigliate di SQL per la macchina virtuale di 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 riquadro di valutazione delle procedure consigliate di SQL della pagina delle risorse della macchina virtuale di SQL Server portale di Azure.

Visualizza risultati

La sezione Risultati valutazioni della pagina Valutazioni delle procedure consigliate di SQL mostra un elenco delle esecuzioni di valutazione più recenti. Ogni riga visualizza l'ora di inizio di un'esecuzione e lo stato, 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 delle procedure consigliate di SQL.
  • Scegliere un'esecuzione completata nella sezione Risultati valutazione della pagina Valutazioni delle procedure consigliatedi SQL.
  • Selezionare Visualizza i risultati della valutazione nelle prime 10 raccomandazioni visualizzate nella pagina Panoramica della risorsa macchina virtuale di 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 Tutte, nuove e risolte. 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 Dati analitici identifica i problemi più ricorrenti e i database con la maggior parte dei problemi. Usa queste informazioni per decidere dove concentrarti.

Il grafico raggruppa i risultati della valutazione in diverse categorie di gravità: 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ù gravi e andare verso il basso 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 la raccomandazione specifica. Se non è presente alcuna selezione nella prima griglia, la seconda griglia mostra tutte le raccomandazioni. Potenzialmente questo potrebbe essere un elenco di grandi dimensioni. È possibile usare gli elenchi a discesa sopra la griglia (nome, gravità, tag, ID di controllo) per filtrare i risultati. È anche possibile usare Esporta in Excel e Apri 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 già le raccomandazioni che il sistema segue.

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 i singoli valori 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 di SQL Server all'interno di una sottoscrizione. A tale scopo, seguire questa procedura:

# 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'
# Resource Group where the Azure Monitor Agent resources will be created
$myAgentRg = 'myAgentRg'
 
# 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 --agent-rg $myAgentRg -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 --agent-rg $myAgentRg -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 riscontrare alcuni dei seguenti problemi noti quando si usano le valutazioni delle procedure consigliate di SQL.

Migrazione da Microsoft Monitoring Agent (MMA) all'agente di Monitoraggio di Azure

In precedenza, la funzionalità di valutazione delle procedure consigliate di SQL usava MMA per caricare le valutazioni nell'area di lavoro Log Analytics. MMA è in fase di ritiro. Questa funzionalità usa ora AMA per caricare le valutazioni. Se in passato è stata abilitata la valutazione delle procedure consigliate di SQL con MMA, è possibile eseguire la migrazione facilmente ad AMA prima disabilitando e poi riabilitando la funzionalità. I risultati esistenti saranno ancora disponibili dopo l'operazione di disabilitazione/abilitazione, purché si specifichi la stessa area di lavoro Log Analytics. Se non viene usato da altri servizi, a questo punto è possibile rimuovere Microsoft Monitoring Agent seguendo queste istruzioni. Prima di eseguire la migrazione, assicurarsi che Log Analytics di Monitoraggio di Azure sia supportato nell'area in cui risiede la macchina virtuale di SQL Server usando la tabella collegata qui.

Errore di distribuzione per l'abilitazione o l'esecuzione della 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 si aprirà un riquadro di contesto in cui è possibile visualizzare i dettagli sull'errore e i possibili modi per risolvere il problema.

Suggerimento

Se TLS 1.0 o una versione successiva è stata applicata in Windows e sono stati disabilitati i protocolli SSL precedenti, come descritto qui, è necessario assicurarsi anche che .NET Framework sia configurato per l'uso della crittografia sicura.

Passaggi successivi