Monitorare e ottimizzare le prestazioni in database SQL di Azure e Istanza gestita di SQL di Azure

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

Per monitorare le prestazioni di un database in Database SQL di Azure e in Istanza gestita di SQL di Azure, iniziare monitorando le risorse CPU e I/O usate dal carico di lavoro rispetto al livello di prestazioni del database scelto selezionando un determinato livello di servizio e un livello di prestazioni. A tale scopo, database SQL di Azure e Istanza gestita di SQL di Azure generare metriche delle risorse che possono essere visualizzate nel portale di Azure o usando uno di questi strumenti di gestione di SQL Server:

La tabella seguente presenta un riepilogo delle funzionalità di monitoraggio in database SQL di Azure e in Azure SQL Managed Studio.

Soluzione di monitoraggio Database SQL Istanza gestita di SQL Monitoraggio del patrimonio Bassa latenza Dati completi
Metriche e avvisi No
Informazioni dettagliate prestazioni query No No No
Monitorare l'uso di DMV No
Monitoraggio con l'archivio query No No
Watcher del database (anteprima)
Informazioni dettagliate su SQL (anteprima) in Monitoraggio di Azure No No
Analisi SQL di Azure (anteprima) con i log di Monitoraggio di Azure No No

Suggerimento

Database Watcher è la soluzione di monitoraggio consigliata per scenari che richiedono bassa latenza di raccolta dati, monitoraggio a livello di ambiente, dati di monitoraggio completi, inclusi i dettagli a livello di query e supporto per l'analisi avanzata sui dati di monitoraggio raccolti.

Advisor di database nel portale di Azure

database SQL di Azure offre numerosi strumenti di ottimizzazione delle prestazioni intelligenti e opzioni di ottimizzazione automatica per migliorare le prestazioni.

Inoltre, la pagina Informazioni dettagliate prestazioni query mostra i dettagli sulle query responsabili della maggior parte dell'utilizzo della CPU e dell'I/O per i database singoli e in pool.

  • Informazioni dettagliate prestazioni query è disponibile nella portale di Azure nel riquadro Panoramica del database SQL di Azure in "Prestazioni intelligenti". Usare le informazioni raccolte automaticamente per identificare le query e iniziare a ottimizzare le prestazioni del carico di lavoro.
  • È anche possibile configurare l'ottimizzazione automatica per implementare automaticamente queste raccomandazioni, ad esempio forzare un piano di esecuzione delle query per impedire la regressione o creare ed eliminare indici non cluster in base ai modelli di carico di lavoro. L'ottimizzazione automatica è disponibile anche nel portale di Azure nel riquadro Panoramica del database SQL di Azure in "Prestazioni intelligenti".

database SQL di Azure e Istanza gestita di SQL di Azure offrono funzionalità avanzate di monitoraggio e ottimizzazione supportate dall'intelligenza artificiale per facilitare la risoluzione dei problemi e ottimizzare le prestazioni dei database e delle soluzioni. È possibile scegliere di configurare l'esportazione in streaming di questi intelligent Insights e di altri log e metriche delle risorse di database in una delle diverse destinazioni per l'utilizzo e l'analisi.

Al di fuori del portale di Azure, il motore di database ha funzionalità di monitoraggio e diagnostica proprie che database SQL di Azure e Istanza gestita di SQL usare, ad esempio query store e viste a gestione dinamica (DMV). Vedere Monitoraggio con DMV per gli script da monitorare per una serie di problemi di prestazioni in database SQL di Azure e Istanza gestita di SQL di Azure.

Monitorare e diagnostica i dati di telemetria

Il diagramma seguente illustra in dettaglio tutti i motori di database, le metriche della piattaforma, i log delle risorse e i log attività di Azure generati dai prodotti SQL di Azure, il modo in cui vengono elaborati e come possono essere visualizzati per l'analisi.

Diagramma che mostra percorsi completi di registrazione e informazioni di diagnostica per i prodotti SQL di Azure.

Monitorare e ottimizzare Azure SQL nel portale di Azure

Nel portale di Azure, database SQL di Azure e Istanza gestita di SQL di Azure forniscono il monitoraggio delle metriche delle risorse. database SQL di Azure fornisce advisor di database e Informazioni dettagliate prestazioni query fornisce raccomandazioni sull'ottimizzazione delle query e analisi delle prestazioni delle query. Nella portale di Azure è possibile abilitare l'ottimizzazione automatica per i server SQL logici e i relativi database singoli e in pool.

Nota

I database con un utilizzo estremamente basso potrebbero essere visualizzati nel portale con un utilizzo inferiore a quello effettivo. A causa del modo in cui vengono generati i dati di telemetria durante la conversione di un valore double nell'intero più vicino, determinati importi di utilizzo inferiori a 0,5 verranno arrotondati a 0, causando una perdita di granularità dei dati di telemetria generati. Per informazioni dettagliate, vedere Metriche di database e pool elastici con arrotondamento a zero.

monitoraggio delle risorse database SQL di Azure e Istanza gestita di SQL di Azure

È possibile monitorare rapidamente un'ampia gamma di metriche delle risorse nella vista Metriche del portale di Azure. Queste metriche consentono di verificare se un database si avvicina ai limiti delle risorse di CPU, memoria, I/O o archiviazione. Un utilizzo elevato di DTU, CPU o I/O potrebbe indicare che il carico di lavoro necessita di più risorse. Potrebbe anche indicare che le query devono essere ottimizzate. Vedere Microsoft.Sql/servers/databases, Microsoft.Sql/servers/elasticPools e Microsoft.Sql/managedInstances per le metriche supportate in database SQL di Azure e Istanza gestita di SQL di Azure.

Screenshot della portale di Azure delle metriche delle risorse per un database SQL.

Per un set di regole di avviso consigliate in database SQL di Azure, vedere Monitorare database SQL di Azure con metriche e avvisi di Monitoraggio di Azure.

Nota

Archiviazione metriche correlate a portale di Azure, ad esempio lo spazio dati usato, vengono segnalate in valori power-of-two, ma usando potenza di dieci unità. Ad esempio, 1 MB di spazio di archiviazione si riferisce a 1.048.576 byte, non a 1.000.000 byte. Le unità più recenti usate per i valori power-of-two sono KiB, MiB, GiB e così via. Per garantire la compatibilità e la coerenza con l'utilizzo storicamente stabilito all'interno del motore di database, le metriche di archiviazione SQL di Azure usano le unità precedenti, ad esempio KB, MB, GB e così via.

Advisor di database in database SQL di Azure

database SQL di Azure include advisor di database che forniscono raccomandazioni per l'ottimizzazione delle prestazioni per database singoli e in pool. Queste raccomandazioni sono disponibili nella portale di Azure e tramite PowerShell. È anche possibile abilitare l'ottimizzazione automatica in modo che database SQL di Azure possa implementare automaticamente queste raccomandazioni di ottimizzazione.

Informazioni dettagliate prestazioni query in database SQL di Azure

Informazioni dettagliate prestazioni query mostra le prestazioni nella portale di Azure delle query con utilizzo più elevato e con esecuzione prolungata per database singoli e in pool.

Metriche del database basso e del pool elastico arrotondamento a zero

A partire da settembre 2020, i database con un utilizzo estremamente basso potrebbero essere visualizzati nel portale con un utilizzo inferiore a quello effettivo. A causa del modo in cui i dati di telemetria vengono generati quando si converte un valore double nell'intero più vicino, se la quantità di utilizzo è inferiori a 0,5 viene arrotondata a 0, con una conseguente perdita di granularità dei dati di telemetria emessi.

Si consideri, ad esempio, una finestra di 1 minuto con i quattro punti dati seguenti: 0,1, 0,1, 0,1, 0,1, questi valori bassi vengono arrotondati a 0, 0, 0, 0 e presentano una media di 0. Se uno dei punti dati è maggiore di 0,5, ad esempio: 0,1, 0,1, 0,9, 0,1, vengono arrotondati a 0, 0, 1, 0 e mostra una media di 0,25.

Generare valutazioni intelligenti dei problemi di prestazioni

Intelligent Insights per database SQL di Azure e Istanza gestita di SQL di Azure usa l'intelligenza incorporata per monitorare continuamente l'utilizzo dei database tramite intelligenza artificiale e rilevare eventi di interruzione che causano prestazioni scarse. Intelligent Insights rileva automaticamente i problemi di prestazioni con i database in base ai tempi di attesa, agli errori o ai timeout dell'esecuzione delle query. Una volta rilevata, un'analisi dettagliata viene eseguita da Intelligent Insights che genera un log delle risorse denominato SQLInsights (non correlato a SQL Insights di Monitoraggio di Azure (anteprima)). SQLInsights è una valutazione intelligente dei problemi. Questa valutazione è costituita da un'analisi della causa radice del problema di prestazioni del database e, dove possibile, da raccomandazioni per il miglioramento delle prestazioni.

Intelligent Insights è una funzionalità unica dell'intelligence integrata di Azure che offre i vantaggi seguenti:

  • Monitoraggio proattivo
  • Analisi delle prestazioni personalizzate
  • Rilevamento tempestivo della riduzione delle prestazioni del database
  • Analisi della causa radice dei problemi rilevati
  • Raccomandazioni per il miglioramento delle prestazioni
  • Capacità di aumentare il numero di istanze in centinaia di migliaia di database
  • Impatto positivo sulle risorse DevOps e sul costo totale di proprietà

Abilitare l'esportazione in streaming delle metriche e dei log delle risorse

Le impostazioni di diagnostica sono una funzionalità che contiene categorie di log delle risorse (in precedenza note come log di diagnostica). È possibile abilitare e configurare l'esportazione in streaming dei dati di telemetria di diagnostica in una delle diverse destinazioni, tra cui Log Analytics, Hub eventi e Archiviazione di Azure.

Nota

La categoria di log delle risorse per Intelligent Insights è denominata SQLInsights. Questo non è correlato alla soluzione di monitoraggio di SQL Insights (anteprima).

È possibile configurare le impostazioni di diagnostica per trasmettere categorie di metriche e log delle risorse per database singoli, database in pool, pool elastici, istanze gestite di SQL e database di istanza a uno dei servizi di Azure seguenti.

Area di lavoro Log Analytics in Monitoraggio di Azure

È possibile trasmettere metriche e log delle risorse a un'area di lavoro Log Analytics in Monitoraggio di Azure. I dati trasmessi qui possono essere usati da Analisi SQL (anteprima), che è una soluzione di monitoraggio solo cloud che fornisce il monitoraggio intelligente dei database che include report sulle prestazioni, avvisi e raccomandazioni di mitigazione. I dati trasmessi a un'area di lavoro Log Analytics possono essere analizzati con altri dati di monitoraggio raccolti e consentono anche di usare altre funzionalità di Monitoraggio di Azure, ad esempio avvisi e visualizzazioni.

Nota

Analisi SQL di Azure (anteprima) è un'integrazione con Monitoraggio di Azure in cui molte soluzioni di monitoraggio non sono più in fase di sviluppo attivo.

Hub eventi di Azure

È possibile trasmettere metriche e log delle risorse a Hub eventi di Azure. Trasmettere i dati di telemetria di diagnostica agli hub eventi per fornire le funzionalità seguenti:

  • Trasmettere i log ai sistemi di registrazione e telemetria di terze parti

    Trasmettere tutte le metriche e i log delle risorse a un singolo hub eventi per inviare i dati di log a uno strumento SIEM o log analytics di terze parti.

  • Creare una piattaforma di telemetria e registrazione personalizzata

    La natura di pubblicazione-sottoscrizione altamente scalabile degli hub eventi consente di inserire in modo flessibile metriche e log delle risorse in una piattaforma di telemetria personalizzata. Per altre informazioni, vedere Hub eventi di Azure.

  • Visualizzare l'integrità del servizio trasmettendo i dati a Power BI

    Usare Hub eventi, Analisi di flusso e Power BI per trasformare i dati di diagnostica in informazioni dettagliate quasi in tempo reale sui servizi di Azure. Per informazioni dettagliate su questa soluzione, vedere Analisi di flusso e Power BI: dashboard di analisi in tempo reale per lo streaming dei dati .

Archiviazione di Azure

Trasmettere metriche e log delle risorse a Archiviazione di Azure. Usare Archiviazione di Azure per archiviare grandi quantità di dati di telemetria di diagnostica per una frazione del costo delle due opzioni di streaming precedenti.

Usare eventi estesi

Inoltre, è possibile usare eventi estesi per il monitoraggio avanzato e la risoluzione dei problemi in SQL Server, database SQL di Azure e Istanza gestita di SQL di Azure. Gli eventi estesi sono uno strumento di "traccia" e un'architettura di eventi, superiore a Traccia SQL, che consente agli utenti di raccogliere tutti i dati necessari per risolvere o identificare un problema di prestazioni, riducendo al contempo l'impatto sulle prestazioni dell'applicazione in corso. Gli eventi estesi sostituiscono le funzionalità deprecate di Traccia SQL e SQL Server Profiler. Per informazioni sull'uso di eventi estesi in database SQL di Azure, vedere Eventi estesi in database SQL di Azure. In database SQL di Azure e Istanza gestita di SQL usare una destinazione file di eventi ospitata in Archiviazione BLOB di Azure.