Gestire e ridimensionare più database SQL usando i pool elastici

I pool elastici di database SQL offrono una soluzione semplice e conveniente per la gestione e il ridimensionamento di più database con esigenze di utilizzo variabili e imprevedibili. I database in un pool elastico si trovano in un server di database SQL di Azure singolo e condividono un determinato numero di risorse (unità di transazione di database elastico (eDTU)) a un prezzo specifico. I pool elastici nel database SQL di Azure consentono agli sviluppatori di SaaS di ottimizzare i costi per un gruppo di database all'interno di un budget definito, garantendo allo stesso tempo prestazioni elastiche per ogni database.

Nota

I pool elastici sono disponibili a livello generale in tutte le aree di Azure tranne India occidentale, dove sono attualmente in anteprima. I pool elastici verranno resi disponibili a livello generale in quest'area non appena possibile.

Definizione di pool elastici SQL

Gli sviluppatori di SaaS compilano applicazioni basate su livelli di dati su larga scala costituiti da più database. Un modello di applicazione comune è il provisioning di un database singolo per ogni cliente. Clienti diversi, tuttavia, hanno spesso modelli di utilizzo differenti e non prevedibili. Per questo motivo, è difficile stabilire a priori i requisiti di risorse di ogni singolo utente di database. In genere, le opzioni erano due:

  • Effettuare il provisioning di risorse eccessivo in base all'utilizzo massimo e pagare più del necessario, o
  • Ricorrere al provisioning insufficiente per risparmiare sui costi, a scapito delle prestazioni e della soddisfazione del cliente durante i picchi.

I pool elastici risolvono il problema assicurando ai database l'ottenimento delle risorse di prestazioni necessarie, quando richieste. Forniscono un meccanismo semplice di allocazione delle risorse che rientra in un budget prevedibile. Per altre informazioni sui modelli di progettazione per applicazioni SaaS con pool elastici, vedere l'articolo relativo ai modelli di progettazione per applicazioni SaaS multi-tenant con database SQL di Azure.

I pool elastici consentono agli sviluppatori di acquistare unità di transazione di database elastico (eDTU) per un pool condiviso da più database, per supportare periodi di utilizzo imprevisti da parte dei singoli database. Il requisito di eDTU di un pool è determinato dall'utilizzo aggregato dei relativi database. Il numero di eDTU disponibile per il pool dipende dal budget dello sviluppatore. Lo sviluppatore aggiunge semplicemente database al pool, imposta il limite minimo e massimo di eDTU per i database e quindi imposta il numero di eDTU del pool in base al budget. Utilizzando i pool, lo sviluppatore può aumentare con facilità i servizi offerti da una piccola nuova impresa fino a un'azienda matura in continua crescita.

All'interno del pool i singoli database sono sufficientemente flessibili da assicurare una scalabilità automatica nell'ambito di parametri prefissati. Se il carico di lavoro è importante, un database può utilizzare più eDTU per soddisfare la domanda. Se invece il carico di lavoro è più leggero, i database in assenza di carico non utilizzano gli eDTU. La possibilità di effettuare il provisioning delle risorse per l'intero pool e non per i singoli database semplifica le attività di gestione. Il budget del pool, inoltre, è facilmente prevedibile. È possibile aggiungere altre eDTU a un pool esistente senza causare tempi di inattività del database, tranne per il fatto che potrebbe essere necessario spostare i database per fornire risorse di calcolo aggiuntive per le nuove eDTU riservate. Analogamente, se gli eDTU aggiuntivi non sono più necessari, è possibile rimuoverli da un pool esistente in qualsiasi momento. È possibile aggiungere e rimuovere database dal pool. Se si prevede che un database sottoutilizzerà le proprie risorse, è possibile rimuoverlo.

È possibile creare e gestire un pool elastico mediante il portale di Azure, PowerShell, Transact-SQL, C# e l'API REST.

Quando considerare un pool elastico del database SQL

I pool sono adatti per un numero elevato di database con modelli di utilizzo specifici. Per un determinato database, questo modello è caratterizzato da un utilizzo medio ridotto con picchi di utilizzo relativamente poco frequenti.

Più database è possibile aggiungere a un pool, maggiori diventano i risparmi. In base al modello di uso dell'applicazione, è possibile osservare un risparmio con soli due database S3.

Le sezioni seguenti aiutano a comprendere se l'insieme specifico di database può trarre vantaggio dall'uso di un pool. Gli esempi utilizzano pool Standard, ma gli stessi principi si applicano anche ai pool Basic e Premium.

Valutazione dei modelli di utilizzo di database

Nella figura seguente viene illustrato un esempio di un database che trascorre il tempo di inattività, ma anche periodicamente picchi di attività. Si tratta di un modello di utilizzo adatto per un pool:

un database singolo adatto per un pool

Per il periodo di cinque minuti illustrato, DB1 raggiunge picchi fino a 90 DTU, ma l'utilizzo medio complessivo è inferiore a cinque DTU. L'esecuzione di questo carico di lavoro in un database singolo richiede il livello di prestazioni S3, ma in questo modo la maggior parte delle risorse rimane inutilizzata durante i periodi di minore attività.

Un pool consente la condivisione tra più database di queste DTU inutilizzate e quindi riduce le DTU richieste e i costi complessivi.

Compila l'esempio precedente, si supponga che vi sono altri database con i modelli di utilizzo simili come DB1. Nelle due figure seguenti viene accostato un grafico di utilizzo di quattro database e uno di 20 database, per mostrare come non vi sia sovrapposizione nell'utilizzo nel tempo:

quattro database con un modello di utilizzo adatto per un pool

venti database con un modello di utilizzo adatto per un pool

Dalla riga di colore nera nella figura precedente viene illustrato l'utilizzo di DTU di aggregazione in tutti i database di 20. Viene illustrato che l'utilizzo di DTU aggregato non mai supera le 100 DTU, ciò indica che i 20 database possono condividere 100 eDTU nel corso di tale periodo di tempo. Ciò comporta una riduzione di DTU di 20x e 13x una riduzione del prezzo rispetto all'inserimento di ogni database in livelli di prestazioni S3 per singoli database.

In questo esempio è ideale per i motivi seguenti:

  • Esistono grandi differenze tra i picchi di utilizzo e l'utilizzo medio per ogni database.
  • Il picco di utilizzo per ogni database si verifica in diversi momenti nel tempo.
  • Le eDTU vengono condivise tra più database.

Il prezzo di un pool è una funzione delle eDTU del pool. Mentre il prezzo unitario delle eDTU di un pool è 1,5 volte maggiore del prezzo unitario delle DTU per un database singolo, le eDTU del pool possono essere condivise da molti database ed è necessario un minor numero totale di eDTU. Queste distinzioni nella determinazione dei prezzi e nella condivisione di eDTU costituiscono la base del potenziale risparmio sul prezzo che il pool è in grado di fornire.

Le seguenti regole relative al numero e all'utilizzo del database consentono di garantire che un pool offra una riduzione dei costi rispetto all'utilizzo di livelli di prestazioni per database singoli.

Numero minimo di database

Se la somma di DTU di livelli di prestazioni per singoli database è superiore di 1,5x rispetto ai DTU necessari per il pool, allora un pool elastico è più conveniente. Per le dimensioni disponibili, vedere Limiti di archiviazione e di eDTU per i pool elastici e dei database elastici.

Esempio
Sono necessari almeno due database S3 o 15 database S0 perché un pool di 100 eDTU risulti più conveniente rispetto all'uso di livelli di prestazioni per database singoli.

Numero massimo di picco contemporaneamente database

Condividendo eDTU, non tutti i database in un pool possono utilizzare contemporaneamente eDTU fino al limite disponibile quando si utilizzano livelli di prestazioni per singoli database. Meno database raggiungono il picco contemporaneamente, minore è il valore da impostare per le eDTU del pool e quindi più redditizio diventa il pool stesso. In generale, non più di un 2/3 (o 67%) dei database nel pool deve raggiungere il picco contemporaneamente al limite delle relative eDTU.

Esempio
Per ridurre i costi relativi a tre database S3 in un pool di 200 eDTU, al massimo due dei tre database possono raggiungere il picco di utilizzo contemporaneamente. In caso contrario, se più di due di questi quattro database S3 raggiungono il picco contemporaneamente, il pool dovrebbe essere ridimensionato a più di 200 eDTU. Se il pool viene ridimensionato a più di 200 eDTU, più database S3 dovranno essere aggiunti al pool per mantenere i costi inferiori rispetto a quelli dei livelli di prestazioni per singoli database.

Si noti in questo esempio non prende in considerazione l'utilizzo di altri database nel pool. Se tutti i database con alcune utilizzo in qualsiasi punto nel tempo, minore di 2/3 (o 67%) dei database possono picco contemporaneamente.

Utilizzo di DTU per ogni database

Una notevole differenza tra il picco e l'utilizzo medio di un database indica periodi prolungati di utilizzo ridotto e brevi periodi di utilizzo elevato. Questo modello di utilizzo è ideale per la condivisione delle risorse tra database. Un database deve essere considerato per un pool quando relativo picchi di utilizzo sono circa 1.5 volte maggiore relativo utilizzo medio.

Esempio
Un database S3 con picchi di 100 DTU e un utilizzo medio di 67 DTU o meno è un buon candidato per la condivisione di eDTU in un pool. In alternativa, un database S1 con picchi di 20 DTU e utilizzo medio di 13 DTU o meno è un buon candidato per un pool.

Come scegliere le dimensioni più adatte del pool

La dimensione ottimale per un pool dipende dalle eDTU di aggregazione e dalle risorse di archiviazione necessarie per tutti i database nel pool. Questo richiede di stabilire il valore maggiore tra i seguenti:

  • Dtu massima utilizzata da tutti i database nel pool.
  • Byte di archiviazione massima utilizzati da tutti i database nel pool.

Per le dimensioni disponibili, vedere Limiti di archiviazione e di eDTU per i pool elastici e dei database elastici.

Database SQL valuta automaticamente la cronologia d’utilizzo delle risorse dei database in un server di database SQL esistente e consiglia una configurazione appropriata del pool nel portale di Azure. Oltre alle raccomandazioni, una funzionalità incorporata stima l'utilizzo di eDTU per un gruppo personalizzato di database del server. Ciò consente di eseguire un'analisi di simulazione tramite l'aggiunta interattiva di database al pool e la relativa rimozione in modo da ottenere un'analisi di utilizzo delle risorse e suggerimenti di ridimensionamento prima di eseguire il commit delle modifiche. Per le procedure, vedere Monitorare e gestire un pool di database elastici con il portale di Azure.

Nei casi in cui non è possibile utilizzare gli strumenti, le seguenti istruzioni dettagliate consentono di stimare se un pool è più conveniente rispetto ai database singoli:

  1. Stimare le eDTU necessarie per il pool come segue:

    MAX (<numero totale di database X utilizzo medio di DTU per DB>,
    <numero di database in picco contemporaneamente X picco di utilizzo di DTU per DB)

  2. Stimare lo spazio di archiviazione necessario per il pool aggiungendo il numero di byte necessari per tutti i database nel pool. Determinare quindi la dimensione del pool in eDTU che fornisce la quantità di spazio di archiviazione. Per i limiti di archiviazione del pool in base alla dimensione del pool espressa in eDTU, vedere Limiti di archiviazione e di eDTU dei pool elastici e dei database elastici.
  3. Considerare la stima eDTU maggiore tra il Passaggio 1 e il Passaggio 2.
  4. Vedere la pagina Prezzi di Database SQL e trovare la dimensione di pool in eDTU più piccola, che sia maggiore della stima del Passaggio 3.
  5. Confrontare il prezzo di pool dal Passaggio 5 con il prezzo dell'utilizzo di livelli di prestazioni appropriati per database singoli.

Modifica delle risorse del pool elastico

È possibile aumentare o ridurre le risorse disponibili per un pool elastico in base alle esigenze delle risorse.

  • La modifica del numero minimo di eDTU per database o del numero massimo di eDTU per database in genere viene completata entro 5 minuti.
  • La modifica del numero di eDTU per pool dipende dallo spazio totale usato da tutti i database nel pool. Le modifiche richiedono una media di 90 minuti o meno per 100 GB. Ad esempio, se lo spazio totale utilizzato da tutti i database nel pool è pari a 200 GB, la latenza prevista per la modifica del numero di eDTU del pool per ogni pool è di 3 ore o meno.

Limiti delle risorse per il pool elastico

Le tabelle seguenti descrivono i limiti delle risorse dei pool elastici. Si noti che i limiti delle risorse di database singoli nei pool elastici sono in genere identici a quelli di database singoli all'esterno dei pool in base alle DTU e al livello di servizio. Ad esempio, il numero massimo di ruoli di lavoro simultanei per un database S2 è 120. Pertanto, anche il numero massimo di ruoli di lavoro simultanei per un database in un pool Standard è 120 se il numero massimo di DTU per ogni database nel pool è 50 (che è equivalente a S2).

Limiti del pool elastico Basic

Dimensioni pool (eDTU) 50 100 200 300 400 800 1200 1600
Spazio di archiviazione dati massimo per pool* 5 GB 10 GB 20 GB 29 GB 39 GB 78 GB 117 GB 156 GB
Spazio di archiviazione OLTP in memoria massimo per pool N/D N/D N/D N/D N/D N/D N/D N/D
Numero massimo di database per pool 100 200 500 500 500 500 500 500
Numero massimo di ruoli di lavoro simultanei (richieste) per pool 100 200 400 600 800 1600 2400 3200
Numero massimo di accessi simultanei per pool 100 200 400 600 800 1600 2400 3200
Numero massimo di sessioni simultanee per pool 30000 30000 30000 30000 30000 30000 30000 30000
Numero minimo di eDTU per database 0, 5 0, 5 0, 5 0, 5 0, 5 0, 5 0, 5 0, 5
Numero massimo di eDTU per database 5 5 5 5 5 5 5 5
Spazio di archiviazione dati massimo per database 2 GB 2 GB 2 GB 2 GB 2 GB 2 GB 2 GB 2 GB

Limiti del pool elastico Standard

Dimensioni pool (eDTU) 50 100 200** 300** 400** 800**
Spazio di archiviazione dati massimo per pool* 50 GB 100 GB 200 GB 300 GB 400 GB 800 GB
Spazio di archiviazione OLTP in memoria massimo per pool N/D N/D N/D N/D N/D N/D
Numero massimo di database per pool 100 200 500 500 500 500
Numero massimo di ruoli di lavoro simultanei (richieste) per pool 100 200 400 600 800 1600
Numero massimo di accessi simultanei per pool 100 200 400 600 800 1600
Numero massimo di sessioni simultanee per pool 30000 30000 30000 30000 30000 30000
Numero minimo di eDTU per database** 0, 10, 20, 50 0, 10, 20, 50, 100 0, 10, 20, 50, 100, 200 0, 10, 20, 50, 100, 200, 300 0, 10, 20, 50, 100, 200, 300, 400 0, 10, 20, 50, 100, 200, 300, 400, 800
Numero massimo di eDTU per database** 10, 20, 50 10, 20, 50, 100 10, 20, 50, 100, 200 10, 20, 50, 100, 200, 300 10, 20, 50, 100, 200, 300, 400 10, 20, 50, 100, 200, 300, 400, 800
Spazio di archiviazione dati massimo per database 50 GB 100 GB 200 GB 250 GB 250 GB 250 GB

Limiti del pool elastico Standard (continua)

Dimensioni pool (eDTU) 1200** 1600** 2000** 2500** 3000**
Spazio di archiviazione dati massimo per pool* 1,2 TB 1,6 TB 2 TB 2,4 TB 2,9 TB
Spazio di archiviazione OLTP in memoria massimo per pool N/D N/D N/D N/D N/D
Numero massimo di database per pool 500 500 500 500 500
Numero massimo di ruoli di lavoro simultanei (richieste) per pool 2400 3200 4000 5000 6000
Numero massimo di accessi simultanei per pool 2400 3200 4000 5000 6000
Numero massimo di sessioni simultanee per pool 30000 30000 30000 30000 30000
Numero minimo di eDTU per database** 0, 10, 20, 50, 100, 200, 300, 400, 800, 1200 0, 10, 20, 50, 100, 200, 300, 400, 800, 1200, 1600 0, 10, 20, 50, 100, 200, 300, 400, 800, 1200, 1600, 2000 0, 10, 20, 50, 100, 200, 300, 400, 800, 1200, 1600, 2000, 2500 0, 10, 20, 50, 100, 200, 300, 400, 800, 1200, 1600, 2000, 2500, 3000
Numero massimo di eDTU per database** 10, 20, 50, 100, 200, 300, 400, 800, 1200 10, 20, 50, 100, 200, 300, 400, 800, 1200, 1600 10, 20, 50, 100, 200, 300, 400, 800, 1200, 1600, 2000 10, 20, 50, 100, 200, 300, 400, 800, 1200, 1600, 2000, 2500 10, 20, 50, 100, 200, 300, 400, 800, 1200, 1600, 2000, 2500, 3000
Spazio di archiviazione dati massimo per database 250 GB 250 GB 250 GB 250 GB 250 GB

Limiti del pool elastico Premium

Dimensioni pool (eDTU) 125 250 500 1000 1500***
Spazio di archiviazione dati massimo per pool* 250 GB 500 GB 750 GB 1 TB 1,5 TB
Spazio di archiviazione OLTP in memoria massimo per pool 1 GB 2 GB 4 GB 10 GB 12 GB
Numero massimo di database per pool 50 100 100 100 100
Numero massimo di ruoli di lavoro simultanei per pool (richieste) 200 400 800 1600 2400
Numero massimo di accessi simultanei per pool 200 400 800 1600 2400
Numero massimo di sessioni simultanee per pool 30000 30000 30000 30000 30000
Numero minimo di eDTU per database 0, 25, 50, 75, 125 0, 25, 50, 75, 125, 250 0, 25, 50, 75, 125, 250, 500 0, 25, 50, 75, 125, 250, 500, 1000 0, 25, 50, 75, 125, 250, 500, 1000
Numero massimo di eDTU per database 25, 50, 75, 125 25, 50, 75, 125, 250 25, 50, 75, 125, 250, 500 25, 50, 75, 125, 250, 500, 1000 25, 50, 75, 125, 250, 500, 1000
Spazio di archiviazione dati massimo per database 250 GB 500 GB 500 GB 500 GB 500 GB

Limiti del pool elastico Premium (continua)

Dimensioni pool (eDTU) 2000*** 2500*** 3000*** 3500*** 4000***
Spazio di archiviazione dati massimo per pool* 2 TB 2,5 TB 3 TB 3,5 TB 4 TB
Spazio di archiviazione OLTP in memoria massimo per pool 16 GB 20 GB 24 GB 28 GB 32 GB
Numero massimo di database per pool 100 100 100 100 100
Numero massimo di ruoli di lavoro simultanei (richieste) per pool 3200 4000 4800 5600 6400
Numero massimo di accessi simultanei per pool 3200 4000 4800 5600 6400
Numero massimo di sessioni simultanee per pool 30000 30000 30000 30000 30000
Numero minimo di eDTU per database 0, 25, 50, 75, 125, 250, 500, 1000, 1750 0, 25, 50, 75, 125, 250, 500, 1000, 1750 0, 25, 50, 75, 125, 250, 500, 1000, 1750 0, 25, 50, 75, 125, 250, 500, 1000, 1750 0, 25, 50, 75, 125, 250, 500, 1000, 1750, 4000
Numero massimo di eDTU per database 25, 50, 75, 125, 250, 500, 1000, 1750 25, 50, 75, 125, 250, 500, 1000, 1750 25, 50, 75, 125, 250, 500, 1000, 1750 25, 50, 75, 125, 250, 500, 1000, 1750 25, 50, 75, 125, 250, 500, 1000, 1750, 4000
Spazio di archiviazione dati massimo per database 500 GB 500 GB 500 GB 500 GB 500 GB

Limiti del pool elastico Premium RS

Dimensioni pool (eDTU) 125 250 500 1000
Spazio di archiviazione dati massimo per pool* 250 GB 500 GB 750 GB 750 GB
Spazio di archiviazione OLTP in memoria massimo per pool 1 GB 2 GB 4 GB 10 GB
Numero massimo di database per pool 50 100 100 100
Numero massimo di ruoli di lavoro simultanei (richieste) per pool 200 400 800 1600
Numero massimo di accessi simultanei per pool 200 400 800 1600
Numero massimo di sessioni simultanee per pool 30000 30000 30000 30000
Numero minimo di eDTU per database 0, 25, 50, 75, 125 0, 25, 50, 75, 125, 250 0, 25, 50, 75, 125, 250, 500 0, 25, 50, 75, 125, 250, 500, 1000
Numero massimo di eDTU per database 25, 50, 75, 125 25, 50, 75, 125, 250 25, 50, 75, 125, 250, 500 25, 50, 75, 125, 250, 500, 1000
Spazio di archiviazione dati massimo per database 250 GB 500 GB 500 GB 500 GB
Importante

* Poiché i database in pool condividono lo spazio di archiviazione del pool, lo spazio di archiviazione dei dati è limitato allo spazio di archiviazione del pool rimanente o allo spazio di archiviazione massimo per database.

** I numeri massimi e minimi di eDTU per database uguali o superiori a 200 sono disponibili in anteprima pubblica.

*** Lo spazio di archiviazione dati massimo predefinito per ogni pool Premium con 500 o più eDTU è 750 GB. Per ottenere dimensioni di archiviazione dati massime per pool Premium superiori per 1000 o più eDTU, è necessario selezionare esplicitamente tali dimensioni usando il portale di Azure, PowerShell, l'interfaccia della riga di comando di Azure o l'API REST. I pool Premium con spazio di archiviazione superiore a 1 TB sono attualmente in anteprima pubblica nelle aree seguenti: Stati Uniti orientali 2, Stati Uniti occidentali, US Gov Virginia, Europa occidentale, Germania centrale, Asia sud-orientale, Giappone orientale, Australia orientale, Canada centrale e Canada orientale. Per tutte le altre aree, lo spazio di archiviazione massimo per pool è attualmente limitato a 750 GB.

Se vengono utilizzate tutte le DTU di un pool elastico, ogni database del pool riceve un'uguale quantità di risorse per l'elaborazione di query. Il servizio di database SQL suddivide equamente le risorse fra i database con intervalli equivalenti per i tempi di calcolo. La condivisione equa delle risorse del pool elastico accompagna ogni quantità di risorse altrimenti garantita per ogni database quando il numero minimo di DTU per ogni database è impostato su un valore diverso da zero.

Proprietà del database per i database in pool

La tabella seguente descrive le proprietà per i database in pool.

Proprietà Descrizione
Numero massimo di eDTU per database Il numero massimo di eDTU di cui un database può usufruire nel pool se disponibili sulla base dell'uso da parte di altri database nel pool. Il numero massimo di eDTU per database non è una garanzia di risorse per un database. Si tratta di un'impostazione globale che si applica a tutti i database nel pool. Impostare il numero massimo di eDTU per database sufficiente per gestire i picchi di utilizzo dei database. È previsto un certo grado di overcommit perché il pool in genere presuppone modelli di utilizzo dei database a freddo e a caldo in cui i database non raggiungono il picco contemporaneamente. Si pensi al caso in cui il picco di utilizzo per ogni database sia di 20 eDTU e solo il 20% dei 100 database nel pool raggiunga il picco nello stesso momento. Se il numero massimo di eDTU per ogni database è impostato su 20 eDTU, è ragionevole eseguire l'overcommit del pool moltiplicando per 5 e impostare il numero di eDTU su 400.
Numero minimo di eDTU per database Il numero minimo di eDTU garantito a ogni database nel pool. Si tratta di un'impostazione globale che si applica a tutti i database nel pool. Il numero minimo di eDTU per database può essere impostato su 0, che corrisponde anche al valore predefinito. Questa proprietà è impostata su un valore compreso tra 0 e l'utilizzo medio di eDTU per ogni database. Il prodotto tra il numero di database nel pool e il numero minimo di eDTU per database non può superare il numero di eDTU per pool. Ad esempio, se un pool dispone di 20 database e di un numero minimo di eDTU per database impostato su 10 eDTU, il numero di eDTU per pool deve essere almeno pari a 200.
Spazio di archiviazione dati massimo per database Lo spazio di archiviazione massimo per un database in un pool. I database in pool condividono lo spazio di archiviazione del pool, quindi lo spazio di archiviazione del database è limitato allo spazio di archiviazione del pool rimanente e allo spazio massimo per database. Lo spazio di archiviazione massimo per database indica le dimensioni massime dei file di dati e non include lo spazio usato dai file di log.

Uso di altre funzionalità del database SQL con i pool elastici

Processi e pool elastici

L'uso di un pool permette di semplificare le attività di gestione con l'esecuzione di script in processi elastici. Un processo elastico elimina la maggior parte delle attività ripetitive associate a un elevato numero di database. Per iniziare, vedere l'introduzione ai processi elastici.

Per altre informazioni sugli altri strumenti di database per usare più database, vedere Aumentare il numero di istanze con il database SQL di Azure.

Opzioni di continuità aziendale per i database in un pool elastico

I database in pool supportano in genere le stesse funzionalità di continuità aziendale disponibili per i singoli database.

Gestire i pool elastici del database SQL tramite il portale di Azure

Creare un nuovo pool elastico del database SQL tramite il portale di Azure

Esistono due modi per creare un pool elastico nel portale di Azure. È possibile farlo da zero se si conosce la configurazione del pool da usare oppure iniziare con una raccomandazione fornita dal servizio. Il database SQL integra informazioni in base alle quali viene suggerita una configurazione del pool elastico nel caso risulti più conveniente secondo i dati di telemetria relativi all'uso precedente dei database.

La creazione di un pool elastico da un pannello server esistente nel portale è il modo più semplice per trasferire i database esistenti in un pool elastico. È anche possibile creare un pool elastico cercando pool elastico SQL nel Marketplace o facendo clic su +Aggiungi nel pannello Pool elastici SQL. È possibile specificare un server nuovo o esistente nel flusso di lavoro dei provisioning del pool.

Nota

È possibile creare più pool in un server, ma non aggiungere database da diversi server nello stesso pool.

Il piano tariffario del pool determina le funzionalità disponibili per i database elastici nel pool e il numero massimo di eDTU (MAX eDTU) e la memoria (GB) disponibili per ciascun database. Per altre informazioni, vedere Livelli di servizio.

Per modificare il piano tariffario per il pool, fare clic su Piano tariffario, scegliere il piano e quindi fare clic su Seleziona.

Importante

Dopo aver scelto il piano tariffario e aver eseguito il commit delle modifiche facendo clic su OK nell'ultimo passaggio, non sarà più possibile modificare il piano tariffario del pool. Per modificare il piano tariffario per un pool di database elastici esistente, creare un pool elastico nel piano tariffario desiderato ed eseguire la migrazione dei database in questo nuovo pool.

Se i dati di telemetria cronologici relativi all'utilizzo disponibili per i database correnti sono sufficienti, il grafico Utilizzo di eDTU e GB e il grafico a barre Utilizzo di eDTU effettivo vengono aggiornati per semplificare le decisioni relative alla configurazione. Il servizio potrebbe anche visualizzare un messaggio di raccomandazione per facilitare la scelta delle dimensioni corrette per il pool.

Il servizio di database SQL valuta la cronologia di utilizzo e suggerisce uno o più pool quando questo approccio è più conveniente rispetto all'uso di singoli database. Ogni raccomandazione viene configurata con un subset univoco di database del server che meglio si adatta al pool.

pool consigliato

La raccomandazione per il pool include:

  • Piano tariffario per il pool (Basic, Standard, Premium o Premium RS)
  • eDTU POOL appropriato, detto anche eDTU max per pool.
  • MAX eDTU e Min eDTU per ogni database.
  • Elenco di database consigliati per il pool.
Importante

Il servizio prende in considerazione la telemetria degli ultimi 30 giorni per la raccomandazione dei pool. Per far sì che un database possa essere considerato un candidato per un pool elastico, deve esistere da almeno 7 giorni. I database che si trovano già in pool elastici non vengono considerati come possibili candidati, in linea con i consigli relativi ai pool elastici.

Il servizio valuta le risorse necessarie e la convenienza dello spostamento di singoli database in ogni livello di servizio nei pool dello stesso livello. Ad esempio, vengono valutati tutti i database Standard in un server per l’utilizzo in un pool elastico Standard. Ciò significa che il servizio non effettua consigli relativi a livelli diversi, ad esempio lo spostamento di un database Standard in un pool Premium.

Dopo aver aggiunto i database al pool, le indicazioni verranno generate dinamicamente in base all'uso storico dei database selezionati. Queste indicazioni vengono visualizzate nel grafico relativo all'uso di eDTU e GB, oltre che come banner nella parte superiore del pannello Configura pool. Queste indicazioni sono concepite per facilitare la creazione di un pool elastico ottimizzato per database specifici.

Indicazioni dinamiche

Gestire e monitorare un pool elastico

Dal portale di Azure è possibile monitorare l'uso di un pool elastico e dei database al suo interno. È anche possibile apportare un set di modifiche al pool elastico e inviare tutte le modifiche contemporaneamente. Le modifiche includono l'aggiunta o la rimozione di database, la modifica delle impostazioni del pool elastico o la modifica delle impostazioni del database.

L'immagine seguente illustra un esempio di pool elastico. La visualizzazione include:

  • Grafici per il monitoraggio dell'utilizzo delle risorse da parte del pool elastico e dei database al suo interno.
  • Il pulsante Configura pool per apportare modifiche al pool elastico.
  • Il pulsante Crea database per creare un database e aggiungerlo al pool elastico corrente.
  • Processi elastici che consentono di gestire un numero elevato di database tramite l'esecuzione di script Transact SQL in tutti i database in un elenco.

Visualizzazione del pool

È possibile passare a un pool specifico per visualizzarne l'utilizzo delle risorse. Per impostazione predefinita, il pool è configurato per mostrare l'utilizzo di eDTU e risorse di archiviazione relativo all'ultima ora. È possibile configurare il grafico per mostrare diverse metriche in diversi intervalli di tempo. Fare clic sul grafico Utilizzo risorse in Monitoraggio pool elastico per mostrare una visualizzazione dettagliata delle metriche specificate nell'intervallo di tempo specificato.

Monitoraggio di pool elastici

Blade delle metriche

Per personalizzare la visualizzazione del grafico

È possibile modificare il grafico e il pannello Metrica per visualizzare altre metriche, ad esempio la percentuale di CPU, la percentuale di IO dei dati e la percentuale di IO del log usata.

Fare clic su Modifica

Nel modulo Modifica grafico selezionare un intervallo di tempo, ad esempio ora precedente, oggi o settimana precedente, oppure fare clic su personalizzato per selezionare un intervallo di tempo nelle due settimane precedenti. È possibile scegliere tra un grafico a barre o un grafico a linee e quindi selezionare le risorse da monitorare.

Nota

Solo le metriche con la stessa unità di misura possono essere visualizzate nel grafico nello stesso momento. Se ad esempio si seleziona "eDTU percentage" (Percentuale eDTU), sarà possibile selezionare solo altre metriche con percentuale come unità di misura.

Fare clic su Modifica

Gestire e monitorare database in un pool elastico

È possibile monitorare anche i singoli database per potenziali problemi. In Monitoraggio database elasticoè disponibile un grafico che mostra le metriche relative a cinque database. Per impostazione predefinita, il grafico mostra i primi cinque database nel pool per utilizzo di eDTU medio nell'ora precedente.

Monitoraggio di pool elastici

Fare clic su eDTU usage for databases for the past hour (Uso di eDTU per i database nell'ora precedente) in Monitoraggio database elastico. Verrà visualizzato Utilizzo risorse database che offre una visualizzazione dettagliata dell'uso del database nel pool. La griglia nella parte inferiore del pannello consente di selezionare fino a cinque database nel pool per visualizzarne l'uso nel grafico. È anche possibile personalizzare le metriche e l'intervallo di tempo visualizzati nel grafico facendo clic su Modifica grafico.

Pannello Utilizzo risorse database

Per personalizzare la visualizzazione

È possibile modificare il grafico per selezionare un intervallo di tempo, ad esempio ora precedente o ultime 24 ore, oppure fare clic su personalizzato per selezionare un giorno diverso nelle 2 settimane precedenti.

Fare clic su Modifica grafico

Fare clic su personalizzato

È anche possibile fare clic sull'elenco a discesa Confronta database in base a e selezionare una metrica diversa da usare per il confronto dei database.

Modificare il grafico

Per selezionare i database da monitorare

Nell'elenco dei database del pannello Utilizzo risorse database è possibile trovare database specifici scorrendo le pagine dell'elenco o digitando il nome di un database. Usare la casella di controllo per selezionare il database.

Cercare i database da monitorare

Aggiungere un avviso a una risorsa di pool elastico

È possibile aggiungere regole a un pool elastico per l'invio di messaggi di posta elettronica a persone oppure stringhe di avviso a endpoint di URL quando il pool elastico raggiunge la soglia d'uso impostata.

Per aggiungere un avviso a una risorsa qualsiasi:

  1. Fare clic sul grafico Utilizzo risorse per aprire il pannello Metrica. Fare clic su Aggiungi avviso e inserire le informazioni nel pannello Aggiungi una regola di avviso. La risorsa viene impostata automaticamente come il pool corrente.
  2. Inserire un Nome e una Descrizione che serviranno a identificare l'avviso per l'utente e i destinatari.
  3. Scegliere una Metrica in base alla quale creare un avviso dall'elenco.

    Il grafico mostra in modo dinamico l'utilizzo delle risorse per la metrica selezionata in modo da scegliere una soglia.

  4. Scegliere una Condizione, ad esempio maggiore di, minore di e così via, e una Soglia.

  5. Scegliere un Periodo di tempo entro il quale la regola della metrica deve essere soddisfatta prima dell'attivazione dell'avviso.
  6. Fare clic su OK.

Per altre informazioni, vedere Usare il portale di Azure per creare avvisi per il database SQL di Azure.

Spostare un database in un pool elastico

È possibile aggiungere o rimuovere i database da un pool esistente. I database possono trovarsi in altri pool. Tuttavia, è possibile aggiungere solo i database che sono nello stesso server logico.

Fare clic su Configura pool

Fare clic su Aggiungi al pool

Selezionare i database da aggiungere

Aggiunte di pool in sospeso

Fare clic su Salva.

Spostare un database da un pool elastico

elenchi di database

elenchi di database

anteprima aggiunta e rimozione database

Fare clic su Salva.

Modificare le impostazioni delle prestazioni di un pool elastico

Durante il monitoraggio dell'utilizzo delle risorse di un pool elastico possono rendersi necessarie alcune modifiche, ad esempio dei limiti di archiviazione o di prestazioni. Si potrebbe voler modificare le impostazioni del database nel pool. È possibile modificare la configurazione del pool in qualsiasi momento per ottenere il miglior compromesso tra prestazioni e costi. Per altre informazioni, vedere Quando usare un pool elastico.

Per modificare i limiti di archiviazione o eDTU per il pool e il numero di eDTU per il database:

Utilizzo delle risorse del pool elastico

Aggiornamento di un pool elastico e nuovi costi mensili

Gestire i pool elastici del database SQL tramite PowerShell

Per creare e gestire pool elastici del database SQL con Azure PowerShell, usare i cmdlet di PowerShell seguenti. Se è necessario installare o aggiornare PowerShell, vedere Installare il modulo Azure PowerShell. Per creare e gestire i database, i server e le regole del firewall, vedere Creare e gestire i server e i database di database SQL di Azure con PowerShell.

Cmdlet Descrizione
New-AzureRmSqlElasticPool Consente di creare un pool di database elastico all'interno del server SQL logico.
Get-AzureRmSqlElasticPool Consente di ottenere pool elastici e i relativi valori di proprietà in un server SQL logico.
Set-AzureRmSqlElasticPool Consente di modificare le proprietà di un pool di database elastico all'interno del server SQL logico.
Remove-AzureRmSqlElasticPool Consente di eliminare un pool di database elastico all'interno del server SQL logico.
Get-AzureRmSqlElasticPoolActivity Consente di ottenere lo stato delle operazioni in un pool elastico in un server SQL logico.
New-AzureRmSqlDatabase Consente di creare un nuovo database in un pool esistente o in un database singolo.
Get-AzureRmSqlDatabase Ottiene uno o più database.
Set-AzureRmSqlDatabase Consente di impostare le proprietà per un database oppure sposta un database esistente all'interno o all'esterno di in un pool elastico.
Remove-AzureRmSqlDatabase Rimuove un database.
Suggerimento

La creazione di molti database in un pool elastico può richiedere tempo quando viene eseguita tramite il portale o i cmdlet di PowerShell che creano un database singolo alla volta. Per automatizzare la creazione in un pool elastico, vedere CreateOrUpdateElasticPoolAndPopulate.

Gestire i pool elastici del database SQL tramite interfaccia della riga di comando di Azure

Per creare e gestire pool elastici del database SQL con l'interfaccia della riga di comando di Azure, usare i comandi seguenti del database SQL per l'interfaccia della riga di comando di Azure. Usare Cloud Shell per eseguire l'interfaccia della riga di comando nel browser o installarla in macOS, Linux o Windows.

Cmdlet Descrizione
az sql elastic-pool create Consente di creare un pool elastico.
az sql elastic-pool list Restituisce un elenco di pool elastici in un server.
az sql elastic-pool list-dbs Restituisce un elenco di database in un pool elastico.
az sql elastic-pool list-editions Include anche le impostazioni di DTU del pool disponibile, i limiti di archiviazione e per le impostazioni per ogni database. Al fine di ridurre il livello di dettaglio, i limiti di spazio di archiviazione aggiuntivo e le impostazioni per ogni database sono nascoste per impostazione predefinita.
az sql elastic-pool update Consente di aggiornare un pool elastico.
az sql elastic-pool delete Consente di eliminare un pool elastico.

Gestire i pool elastici del database SQL con Transact-SQL

Per creare e spostare i database all'interno dei pool elastici esistenti o per restituire informazioni su un pool elastico del database SQL con Transact-SQL, usare i comandi T-SQL seguenti. È possibile eseguire questi comandi usando il portale di Azure, SQL Server Management Studio, Visual Studio Code o qualsiasi altro programma che può connettersi a un server di database SQL di Azure e passare comandi Transact-SQL. Per creare e gestire i database, i server e le regole del firewall, vedere Creare e gestire i server e i database di database SQL di Azure con Transact-SQL.

Importante

Non è possibile creare, aggiornare o eliminare un pool elastico del database SQL di Azure con Transact-SQL. È possibile aggiungere o rimuovere i database da un pool elastico ed è possibile usare le DMV per restituire informazioni sui pool elastici esistenti.

Comando Descrizione
CREATE DATABASE (database SQL di Azure) Consente di creare un nuovo database in un pool esistente o in un database singolo. Per creare un nuovo database è necessario essere connessi al database master.
ALTER DATABASE (database SQL di Azure) Consente di spostare un database all'interno, all'esterno o tra pool elastici.
DROP DATABASE (Transact-SQL) Questo comando elimina un database.
sys.elastic_pool_resource_stats (Database SQL di Azure) Restituisce statistiche di uso delle risorse per tutti i pool di database elastici in un server logico. Per ogni pool di database elastico c'è una riga per ogni finestra di report di 15 secondi, quattro righe per ogni minuto. Sono inclusi CPU, IO, Log, uso dell'archiviazione e uso di richieste/sessioni simultanee da parte di tutti i database nel pool.
sys.database_service_objectives (database SQL di Azure) Restituisce l'edizione (livello di servizio), l'obiettivo di servizio (piano tariffario) e il nome del pool elastico, se presente, di un database SQL di Azure o un'istanza di Azure SQL Data Warehouse. Se si è connessi al database master in un server di database SQL di Azure, restituisce informazioni su tutti i database. Per Azure SQL Data Warehouse, è necessario essere connessi al database master.

Gestire i pool elastici del database SQL con l'API REST

Per creare e gestire pool elastici del database SQL con l'API REST, vedere Azure SQL Database REST API (API REST del database SQL di Azure).

Passaggi successivi