Condividi tramite


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:

Autorizzazioni

Per abilitare le valutazioni delle procedure consigliate di SQL, sono necessarie le autorizzazioni seguenti:

  • Contributore macchina virtuale nella risorsa macchina virtuale sottostante.
  • Contributore macchina virtuale nella risorsa macchine virtuali SQL.
  • Contributore Log Analytics nel gruppo di risorse che contiene l'area di lavoro Log Analytics.
  • Lettore nel gruppo di risorse in cui vengono create le risorse dell'agente di Monitoraggio di Azure. Controllare l'opzione di configurazione per il gruppo di risorse quando si abilita la funzionalità di valutazione delle procedure consigliate di SQL.

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 alla risorsa delle macchine virtuali SQL nel portale di Azure.
  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 del portale di Azure indica quando la funzionalità di valutazione delle procedure consigliate SQL è pronta per la VM 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 nel 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 i consigli usando le schede per:

  • Tutte: tutte le raccomandazioni per la selezione attuale
  • Nuove: nuove raccomandazioni (delta delle esecuzioni precedenti)
  • Risolte: raccomandazioni risolte dalle esecuzioni precedenti
  • Informazioni dettagliate: identifica i problemi più ricorrenti e i database con la maggior parte dei problemi.

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 nell'ambiente in cui è stato riscontrato il problema. 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, che potrebbero potenzialmente costituire un lungo elenco. È 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 all'agente di Monitoraggio di Azure (AMA)

In precedenza, la funzionalità di valutazione delle procedure consigliate di SQL usava Microsoft Monitoring Agent (MMA), per caricare le valutazioni nell'area di lavoro Log Analytics. Microsoft Monitoring Agent è stato sostituito con l'agente di Monitoraggio di Azure (AMA). Per eseguire la migrazione delle valutazioni delle procedure consigliate SQL esistenti da MMA ad AMA, è necessario eliminare e quindi registrare di nuovo la VM di SQL Server con l'estensione. I risultati esistenti saranno ancora disponibili dopo l'abilitazione delle valutazioni. Se MMA non viene usato da altri servizi, è possibile rimuoverlo. Prima di eseguire la migrazione, assicurarsi che Log Analytics del Monitoraggio di Azure sia supportato nell'area in cui è implementata la VM di SQL Server.

Impossibile abilitare le valutazioni

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.

Impossibile eseguire una valutazione

Controllare lo stato dell'esecuzione della valutazione nel portale di Azure. Se lo stato è uno stato di errore, selezionarlo per visualizzare il messaggio di errore. È anche possibile accedere alla VM ed esaminare i messaggi di errore dettagliati per le valutazioni non riuscite nel log dell'estensione in C:\WindowsAzure\Logs\Plugins\Microsoft.SqlServer.Management.SqlIaaSAgent\2.0.X.Y, dove 2.0.X.Y è la versione dell'estensione.

Se si verificano problemi durante l'esecuzione di una valutazione:

  • Assicurarsi che l’ambiente soddisfi i prerequisiti.
  • Assicurarsi che il servizio SQL IaaS Agent sia in esecuzione nella VM e che l'estensione SQL IaaS Agent sia in uno stato integro. Se l'estensione SQL IaaS Agent non è integra, riparare l'estensione per risolvere eventuali problemi e aggiornarla alla versione più recente senza tempi di inattività di SQL Server.
  • In caso di errori di accesso per NT SERVICE\SqlIaaSExtensionQuery, assicurarsi che l'account venga aggiunto a SQL Server con l’autorizzazione Server permission - CONTROL SERVER.

Caricamento del risultato nell'area di lavoro Log Analytics non riuscito

Questo errore indica che Microsoft Monitoring Agent (MMA) non è stato in grado di caricare i risultati entro l'intervallo di tempo previsto.

Se i risultati non riescono a eseguire il caricamento nell'area di lavoro Log Analytics, provare a eseguire le operazioni seguenti:

Errori di configurazione TLS non corretta con Log Analytics

L'errore TLS più comune si verifica quando l'estensione Microsoft Monitoring Agent (MMA) non riesce a stabilire una stretta di mani SSL durante la connessione all'endpoint di Log Analytics, che in genere si verifica quando TLS 1.0 viene applicato dal Registro di sistema o dall'oggetto Criteri di gruppo a livello di sistema operativo, ma non aggiornato per .NET Framework. Se TLS 1.0 o una versione successiva è stato applicato in Windows e sono stati disabilitati i protocolli SSL precedenti, come descritto in Chiavi del Registro di sistema specifiche di Schannel, è necessario assicurarsi anche che .NET Framework sia configurato per l'uso della crittografia sicura.

Non è possibile modificare l'area di lavoro Log Analytics dopo la configurazione di Valutazione SQL

Dopo aver associato una macchina virtuale a un'area di lavoro Log Analytics, questa non può essere modificata nella risorsa macchina virtuale di SQL. Questo consente di impedire l'uso di Log Analytics per altri casi d'uso. È possibile disconnettere la VM usando il pannello delle risorse di Log Analytics nella scheda Macchine virtuali del portale di Azure.

Risultato scaduto a causa della conservazione dei dati dell'area di lavoro Log Analytics

Questo indica che i risultati non vengono più conservati nell'area di lavoro Log Analytics in base ai criteri di conservazione. È possibile modificare il periodo di conservazione per l'area di lavoro.