Monitoraggio e ottimizzazione delle prestazioni del database SQL di Azure e di Istanza gestita di SQL di Azure

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

Per monitorare le prestazioni di un database in Azure SQL Database e 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 livello di prestazioni. A questo scopo, Azure SQL Database e Istanza gestita di SQL di Azure generano metriche delle risorse che possono essere visualizzate nel portale di Azure o usando uno di questi strumenti di gestione di SQL Server:

Soluzione di monitoraggio Database SQL Istanza gestita di SQL Richiede l'agente in una macchina virtuale di proprietà del cliente
Informazioni dettagliate prestazioni query No No
Monitorare l'uso di DMV No
Monitorare l'uso dell'archivio query No
SQL Insights (anteprima) in Monitoraggio di Azure
Azure SQL Analytics (anteprima) usando i log di Monitoraggio di Azure * No

* Per le soluzioni che richiedono il monitoraggio a bassa latenza, non è consigliabile Azure SQL Analytics (anteprima).

Advisor del database nell'portale di Azure

Azure SQL Database offre numerosi advisor di database per fornire consigli 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 sulle prestazioni delle query è disponibile nella portale di Azure nel riquadro Panoramica del database Azure SQL 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 forzando un piano di esecuzione di query per impedire la regressione o la creazione e l'eliminazione di 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 Azure SQL in "Prestazioni intelligenti".

Azure SQL Database 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 la ottimizzazione delle prestazioni dei database e delle soluzioni. È possibile scegliere di configurare l'esportazione di streaming di questi dati Intelligent Insights e altri log e metriche delle risorse di database in una delle diverse destinazioni per l'utilizzo e l'analisi.

Al di fuori della portale di Azure, il motore di database ha le proprie funzionalità di monitoraggio e diagnostica che Azure SQL Database e Istanza gestita di SQL sfruttare, ad esempio le visualizzazioni di archiviazione query e leviste di gestione dinamica (DMV). Vedere Monitoraggio con DMV per gli script da monitorare per un'ampia gamma di problemi di prestazioni in Azure SQL Database e Istanza gestita di SQL di Azure.

Azure SQL Insights (anteprima) e Azure SQL Analytics (anteprima)

Entrambe le offerte usano pipeline diverse per presentare i dati a un'ampia gamma di endpoint per le metriche di database in arrivo Azure SQL.

  • Azure SQL Insights (anteprima) è il progetto all'interno di Monitoraggio di Azure che può fornire informazioni dettagliate avanzate sull'attività di Azure SQL database. Viene distribuito tramite una macchina virtuale gestita dal cliente usando Telegraf come agente di raccolta che si connette alle origini SQL, raccoglie i dati e sposta i dati in Log Analytics.

  • Azure SQL Analytics (anteprima) richiede anche Log Analytics per fornire informazioni dettagliate avanzate sull'attività del database Azure SQL.

  • I dati di telemetria di diagnostica di Azure sono un'origine di streaming separata dei dati per Azure SQL Database e Istanza gestita di SQL di Azure. Non da confondere con il prodotto Azure SQL Insights (anteprima), SQLInsights è un log all'interno di Intelligent Insights ed è uno dei diversi pacchetti di dati di telemetria generati dalle impostazioni di diagnostica di Azure. Le impostazioni di diagnostica sono una funzionalità che contiene categorie di log risorse (in precedenza note come log di diagnostica). Per altre informazioni, vedere Telemetria di diagnostica per l'esportazione.

    • Azure SQL Analytics (anteprima) usa i log delle risorse provenienti dai dati di telemetria di diagnostica (configurabili in Impostazioni di diagnostica nella portale di Azure), mentre Azure SQL Insights (anteprima) usa una pipeline diversa per raccogliere dati di telemetria Azure SQL.

Monitoraggio e telemetria diagnostica

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 da Azure SQL prodotti, come vengono elaborati e come possono essere visualizzati per l'analisi.

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

Monitorare e ottimizzare Azure SQL nell'portale di Azure

Nella portale di Azure Azure SQL Database e Istanza gestita di SQL di Azure fornire il monitoraggio delle metriche delle risorse. Azure SQL Database fornisce advisor del database e Informazioni dettagliate sulle prestazioni delle query offre raccomandazioni per l'ottimizzazione delle query e l'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 utilizzo estremamente basso possono essere visualizzati nel portale con meno dell'utilizzo effettivo. A causa del modo in cui i dati di telemetria vengono generati quando si converte un valore doppio nell'intero più vicino, alcuni importi di utilizzo inferiori a 0,5 verranno arrotondati a 0 che causano una perdita di granularità dei dati di telemetria generati. Per informazioni dettagliate, vedere Metriche del pool elastico e del database basso arrotondamento su zero.

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

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

Metriche delle risorse

Advisor del database in Azure SQL Database

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

Informazioni dettagliate sulle prestazioni delle query nel database Azure SQL

Informazioni dettagliate sulle prestazioni delle query mostra le prestazioni nei portale di Azure delle query con utilizzo più elevato e più lungo per i database singoli e in pool.

Metriche del pool elastico e del database basso arrotondamento a zero

A partire da settembre 2020, i database con utilizzo estremamente basso possono essere visualizzati nel portale con meno dell'utilizzo effettivo. A causa del modo in cui i dati di telemetria vengono generati quando si converte un valore doppio nell'intero più vicino, alcuni importi di utilizzo inferiori a 0,5 verranno arrotondati a 0, che causano una perdita di granularità dei dati di telemetria generati.

Ad esempio: si consideri 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 mostrano una media di 0,25.

Generare valutazioni intelligenti dei problemi di prestazioni

Intelligent Insights per Azure SQL Database e Istanza gestita di SQL di Azure usa l'intelligenza predefinita per monitorare continuamente l'utilizzo del database tramite intelligenza artificiale e rilevare eventi dirompenti che causano prestazioni scarse. Intelligent Insights rileva automaticamente i problemi di prestazioni con i database in base ai tempi di attesa dell'esecuzione delle query, agli errori o ai timeout. Dopo aver rilevato, viene eseguita un'analisi dettagliata di Intelligent Insights che genera un log di 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 di streaming di metriche e log delle risorse

È possibile abilitare e configurare l'esportazione di streaming dei dati di telemetria di diagnostica in una delle diverse destinazioni, incluso il log delle risorse di Intelligent Insights.

È 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 e database di istanza in una delle risorse 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 SQL Analytics (anteprima) che è una soluzione di monitoraggio solo cloud che fornisce un 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 sfruttare altre funzionalità di Monitoraggio di Azure, ad esempio avvisi e visualizzazioni.

Nota

Azure SQL Analytics (anteprima) è un'integrazione con Monitoraggio di Azure, in cui molte soluzioni di monitoraggio non sono più in fase di sviluppo attivo. Monitorare le distribuzioni SQL con SQL Insights (anteprima).

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 a sistemi di telemetria e registrazione di terze parti

    Trasmettere tutti i log delle metriche e delle risorse a un singolo hub eventi per eseguire la pipe dei dati di log in uno strumento SIEM o log analytics di terze parti.

  • Creare una piattaforma di telemetria e registrazione personalizzata

    La natura altamente scalabile di pubblicazione-sottoscrizione di hub eventi consente di inserire in modo flessibile le metriche e i log delle risorse in una piattaforma di telemetria personalizzata. Per informazioni dettagliate, vedere Progettazione e ridimensionamento di una piattaforma di telemetria su scala globale in Hub eventi di Azure.

  • Visualizzare l'integrità del servizio mediante lo streaming dei 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. Vedere Analisi di flusso e Power BI: dashboard di analisi in tempo reale per lo streaming dei dati per informazioni dettagliate su questa soluzione.

Archiviazione di Azure

Trasmettere metriche e log delle risorse ad 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 e la risoluzione dei problemi avanzati in SQL Server, Azure SQL Database 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 quanto più o meno 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 funzionalità di traccia SQL deprecate e SQL Server Profiler. Per informazioni sull'uso di eventi estesi nel database di Azure SQL, vedere Eventi estesi in Azure SQL Database. In Azure SQL Database e Istanza gestita di SQL usare una destinazione file di evento ospitata in Archiviazione BLOB di Azure.

Passaggi successivi