Condividi tramite


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

Si applica a: Database SQL ServerIstanza 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. Per farlo, Database SQL di Azure e Istanza gestita di SQL di Azure generano metriche sulle 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

Watcher del database (anteprima) è 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 per database nel portale di Azure

Database SQL di Azure offre una serie di Advisor per database per fornire raccomandazioni intelligenti per l'ottimizzazione delle prestazioni e opzioni di ottimizzazione automatica per migliorare le prestazioni.

Inoltre, la pagina Informazioni dettagliate sulle prestazioni delle 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 nel portale di Azure nel riquadro Informazioni generali del Database SQL di Azure in "Prestazioni intelligenti". Usa 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 nel portale di Azure nel riquadro Informazioni generali 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 che consentono di risolvere i 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.

Fuori dal portale di Azure, il motore di database dispone di funzionalità di monitoraggio e diagnostica proprie, ad esempio Query Store e DMV, che vengono usate da database SQL di Azure e Istanza gestita di SQL. Vedi Monitoraggio con DMV degli script per monitorare per una serie di problemi di prestazioni in Database SQL di Azure e Istanza gestita di SQL di Azure.

Monitorare e diagnosticare la 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 Azure SQL, il modo in cui vengono elaborati e come possono essere esposti 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 per database, mentre Informazioni dettagliate sulle prestazioni delle query fornisce consigli sull'ottimizzazione delle query e analisi delle prestazioni delle query. Nel 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 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. Per i dettagli, vedi Metriche del database basso e del pool elastico arrotondamento a zero.

Monitoraggio delle risorse di 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. L'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. Vedi 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, vedi Monitorare database SQL di Azure con metriche e avvisi.

Nota

Le metriche relative all'archiviazione nel portale di Azure, ad esempio Spazio dati usato, vengono segnalate in valori multipli di due, ma usando unità multiple di dieci. 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 multipli di due 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 di Azure SQL usano le unità precedenti, ad esempio KB, MB, GB e così via.

Advisor per database in Database SQL di Azure

Database SQL di Azure include advisor per database che forniscono consigli 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 questi consigli di ottimizzazione.

Informazioni dettagliate sulle prestazioni delle query in Database SQL di Azure

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

Metriche di database basse e arrotondamento a zero dei pool elastici

A partire da settembre 2020, i database con utilizzo estremamente basso possono 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.

Ad esempio, consideriamo 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 hanno 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 la 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 le funzionalità di intelligence predefinite per monitorare in modo continuativo l'utilizzo del database grazie all'intelligenza artificiale e di rilevare gli eventi che possono causare interruzioni del funzionamento e una riduzione delle prestazioni. Intelligent Insights rileva automaticamente i problemi di prestazioni con il database in base ai tempi di attesa, agli errori o ai timeout di esecuzione delle query. Una volta rilevati, Intelligent Insights esegue un'analisi dettagliata che genera un log delle risorse denominato SQL Insights (non correlato a SQL Insights per il Monitoraggio di Azure (anteprima)). SQL Insights è 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 noti 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 di risorse per i database singoli, i database in pool, i pool elastici, le istanze gestite di SQL e i database dell'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 Analisi SQL (anteprima), che è una soluzione di monitoraggio solo cloud che fornisce il controllo intelligente dei database e include report sulle prestazioni, avvisi e consigli per la prevenzione. 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. Trasmissione dei 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 tutte le metriche e i log delle risorse a un singolo hub eventi per inviare i dati di log a uno strumento SIEM o analisi dei log di terze parti.

  • Creare una piattaforma di telemetria e registrazione personalizzata

    La natura altamente scalabile di pubblicazione-sottoscrizione dell'hub eventi offre flessibilità nell'inserimento delle metriche e dei log delle risorse su una piattaforma di telemetria personalizzata. Per altre informazioni, vedere Hub eventi di Azure.

  • Visualizza l'integrità dei servizi mediante lo streaming dei dati a Power BI

    Con Hub eventi, Analisi di flusso e Power BI è possibile trasformare facilmente i dati di diagnostica in informazioni near real-time sui servizi di Azure. Per i dettagli su questa soluzione, vedere Analisi di flusso e Power BI: una dashboard di analisi in tempo reale per lo streaming dei dati.

Archiviazione di Azure

Trasmettere metriche e log delle risorse a Archiviazione di Azure. Usa l'archiviazione di Azure per archiviare grandi quantità di dati di telemetria di diagnostica per un costo nettamente inferiore rispetto alle due opzioni di trasmissione precedenti.

Usare eventi estesi

Inoltre, è possibile usare gli 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 ad Analisi 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 Analisi SQL e SQL Server Profiler. Per ulteriori informazioni sugli eventi estesi in Database SQL di Azure, vedi Eventi estesi in Database SQL. In Database SQL di Azure e Istanza gestita di SQL, usa una destinazione file di eventi ospitata in Archiviazione BLOB di Azure.