Ridimensionare le risorse dei pool elastici nel database SQL di Azure

Si applica a:Database SQL di Azure

Questo articolo illustra come ridimensionare le risorse di calcolo e di archiviazione disponibili per i pool elastici e i database in pool nel database SQL di Azure.

Modifica delle risorse di calcolo (vCore o DTU)

Dopo aver selezionato inizialmente il numero di vCore o eDTU, è possibile aumentare o ridurre dinamicamente un pool elastico in base all'esperienza effettiva usando uno dei metodi seguenti:

Impatto della modifica del livello di servizio o del rescaling delle dimensioni di calcolo

La modifica del livello di servizio o delle dimensioni di calcolo di un pool elastico segue un modello simile a quello per i singoli database e prevede principalmente che il servizio esegua i passaggi seguenti:

  1. Creare una nuova istanza di calcolo per il pool elastico

    Viene creata una nuova istanza di calcolo per il pool elastico con il livello di servizio e le dimensioni di calcolo richieste. Per alcune combinazioni di modifiche al livello di servizio e alle dimensioni di calcolo, è necessario creare una replica di ogni database nella nuova istanza di calcolo, che comporta la copia dei dati e può influire fortemente sulla latenza complessiva. Indipendentemente dal fatto che i database rimangano online durante questo passaggio e le connessioni continuino a essere indirizzate ai database nell'istanza di calcolo originale.

  2. Passare il routing delle connessioni alla nuova istanza di calcolo

    Le connessioni esistenti ai database nell'istanza di calcolo originale vengono eliminate. Tutte le nuove connessioni vengono stabilite ai database nella nuova istanza di calcolo. Per alcune combinazioni di modifiche al livello di servizio e alle dimensioni di calcolo, i file di database vengono scollegati e ricollegati durante lo switch. Indipendentemente dal fatto che lo switch possa comportare una breve interruzione del servizio quando i database non sono disponibili in genere per meno di 30 secondi e spesso per pochi secondi. Se sono presenti transazioni attive a esecuzione prolungata quando vengono eliminate le connessioni, la durata di questo passaggio potrebbe richiedere più tempo per recuperare le transazioni interrotte. Il ripristino accelerato del database può ridurre l'impatto dell'interruzione delle transazioni a esecuzione prolungata.

Importante

Durante qualsiasi passaggio del flusso di lavoro non viene perso alcun dato.

Latenza della modifica del livello di servizio o del rescaling delle dimensioni di calcolo

La latenza stimata per modificare il livello di servizio, ridimensionare le dimensioni di calcolo di un singolo database o di un pool elastico, spostare un database all'interno/esterno di un pool elastico o spostare un database tra pool elastici è parametrizzato come segue:

Latenza di ridimensionamento del pool elastico Al pool elastico Basic, Standard, General Purpose Al pool elastico Premium, Business critical Al pool elastico Hyperscale
Dal pool elastico Basic, Standard, General Purpose Proporzionale al numero di database • Latenza proporzionale allo spazio del database utilizzato per via della copia dei dati.
• In genere, meno di 1 minuto per GB di spazio utilizzato.
N/D: i database devono essere aggiunti singolarmente ai pool elastici Hyperscale. Latenza di ridimensionamento per database documentata in Ridimensionare le risorse di database singolo.
Da pool elastico Premium, Business Critical • Latenza proporzionale allo spazio del database utilizzato per via della copia dei dati.
• In genere, meno di 1 minuto per GB di spazio utilizzato.
• Latenza proporzionale allo spazio del database utilizzato per via della copia dei dati.
• In genere, meno di 1 minuto per GB di spazio utilizzato.
N/D: i database devono essere aggiunti singolarmente ai pool elastici Hyperscale. Latenza di ridimensionamento per database documentata in Ridimensionare le risorse di database singolo.
Dal pool elastico Hyperscale N/D N/D • Latenza temporale costante indipendentemente da spazio utilizzato.
• In genere, meno di 2 minuti.

Nota

  • Quando si modifica il livello di servizio o il calcolo del ridimensionamento per qualsiasi pool elastico non Hyperscale, è necessario utilizzare la somma dello spazio utilizzato in tutti i database del pool per calcolare la stima. La latenza di ridimensionamento per i pool elastici Hyperscale è indipendente da spazio utilizzato.
  • Per i pool elastici Standard e General Purpose, la latenza dello spostamento di un database all’interno/esterno di un pool elastico o tra pool elastici sarà proporzionale alle dimensioni del database se il pool elastico usa l'archiviazione Premium File Share (PFS). Per determinare se un pool usa l'archiviazione PFS, eseguire la query seguente nel contesto di qualsiasi database nel pool. Se il valore nella colonna AccountType è PremiumFileStorage o PremiumFileStorage-ZRS, il pool sta usando l'archiviazione PFS.
SELECT s.file_id,
       s.type_desc,
       s.name,
       FILEPROPERTYEX(s.name, 'AccountType') AS AccountType
FROM sys.database_files AS s
WHERE s.type_desc IN ('ROWS', 'LOG');

Nota

  • La proprietà con ridondanza della zona rimarrà la stessa per impostazione predefinita quando si ridimensiona un pool elastico dal livello Business Critical al livello General Purpose.
  • La latenza per l'operazione di ridimensionamento quando la ridondanza della zona viene modificata per un pool elastico General Purpose è proporzionale alle dimensioni del database.
  • La modifica di un pool elastico non Hyperscale esistente nell'edizione Hyperscale non è supportata. Per altri dettagli, vedere Pool elastici Hyperscale. I database devono invece essere aggiunti singolarmente ai pool elastici Hyperscale.
  • La modifica dell'edizione di un pool elastico Hyperscale in un'edizione non Hyperscale non è supportata. Per altri dettagli, vedere Pool elastici Hyperscale.

Considerazioni aggiuntive relative alla modifica del livello di servizio o al rescaling delle dimensioni di calcolo

  • Quando si riducono le dimensioni di vCore o eDTU di un pool elastico, lo spazio utilizzato del pool deve essere inferiore al limite massimo delle dimensioni di dati per il livello di servizio di destinazione e il calcolo del pool.
  • Quando si aumentano le eDTU per un pool elastico, si applica un costo di archiviazione aggiuntivo se:
    • Le dimensioni massime dei dati del pool sono supportate dal pool di destinazione e
    • le dimensioni massime dei dati del pool superano la quantità di archiviazione inclusa del pool di destinazione.
  • Se ad esempio un pool Standard da 100 eDTU con una dimensione massima di dati di 100 GB viene ridotto a un pool Standard da 50 eDTU, viene applicato un costo per le risorse di archiviazione extra, poiché il pool di destinazione supporta una dimensione massima di dati di 100 GB e lo spazio di archiviazione incluso è solo di 50 GB. Lo spazio di archiviazione extra è quindi 100 GB - 50 GB = 50 GB. Per i prezzi delle risorse di archiviazione extra, vedere Prezzi di Database SQL. Se la quantità effettiva di spazio utilizzato è inferiore allo spazio di archiviazione incluso, questo costo aggiuntivo può essere evitato riducendo le dimensioni massime di dati fino allo spazio incluso.

Fatturazione durante il rescaling

Viene fatturata ogni ora per cui un database esiste usando il livello di servizio più elevato e le dimensioni di calcolo applicati in quell'ora, indipendentemente dall'uso o dal fatto che il database sia stato attivo per meno di un'ora. Ad esempio, se si crea un database singolo che viene eliminato cinque minuti dopo, in fattura viene riportato l'addebito relativo a un'ora di database.

modifica delle dimensioni di archiviazione del pool elastico

Le dimensioni di archiviazione (dimensioni massime dei dati) per il pool elastico possono essere specificate usando il portale di Azure, PowerShell, l’interfaccia della riga di comando di Azure o l’API REST. Quando si aumenta la dimensione massima dei dati del pool elastico, il valore specificato non può superare il limite massimo di dimensioni dei dati dell'obiettivo di servizio del pool. Quando si riduce la dimensione massima dei dati, il nuovo valore specificato deve essere uguale o maggiore della somma dello spazio allocato in tutti i database nel pool.

Importante

In alcune circostanze, potrebbe essere necessario compattare un database per recuperare spazio inutilizzato. Per altre informazioni, vedere Gestire lo spazio file nel database SQL di Azure.

Modello di acquisto basato su vCore

  • Le dimensioni di archiviazione (dimensioni massime dei dati) per i pool elastici nei livelli General Purpose o Business Critical possono essere specificate fino ai limiti delle dimensioni massime dei dati specificati in Limiti delle risorse per i pool elastici usando il modello di acquisto vCore. Le dimensioni massime dei dati per il pool elastico possono essere aumentate o ridotte in multipli di 1 GB.
  • Il prezzo dell'archiviazione per un pool elastico corrisponde alle dimensioni massime dei dati moltiplicato per il prezzo unitario dell'archiviazione del livello di servizio. Per informazioni dettagliate sul prezzo dell’archiviazione, vedere Prezzi di Database SQL.

Importante

In alcune circostanze, potrebbe essere necessario compattare un database per recuperare spazio inutilizzato. Per altre informazioni, vedere Gestire lo spazio file nel database SQL di Azure.

Modello di acquisto basato su DTU

  • Il prezzo eDTU per un pool elastico include una determinata quantità di risorse di archiviazione senza costi aggiuntivi. È possibile effettuare il provisioning di spazio di archiviazione dati extra oltre l'importo incluso per un costo aggiuntivo fino al limite massimo di dimensioni dei dati corrispondente alle eDTU di cui è stato effettuato il provisioning. Per gli importi di archiviazione inclusi e i limiti di dimensioni massime dei dati, vedere Limiti delle risorse per i pool elastici tramite il modello di acquisto DTU.
  • Il prezzo delle risorse di archiviazione extra per un pool elastico corrisponde allo spazio di archiviazione extra moltiplicato per il prezzo unitario del livello di servizio. Per informazioni dettagliate sul prezzo delle risorse di archiviazione extra, vedere Prezzi di Database SQL.
  • I valori validi per le dimensioni massime dei dati per un pool elastico di livello Standard o Premium possono essere uno dei valori seguenti: 50 GB, 100 GB, 150 GB, 200 GB, 250 GB, 300 GB, 400 GB, 500 GB, 750 GB, 800 GB, 1024 GB, 1200 GB, 1280 GB, 1536 GB, 1600 GB, 1792 GB, 2000 GB, 2048 GB, 2304 GB, 2500 GB, 2560 GB, 2816 GB, 3000 GB, 3072 GB, 3328 GB, 3584 GB, 3840 GB, 4096 GB. Le dimensioni massime dei dati specificate non possono superare il limite massimo di dimensioni dei dati specificato per le eDTU di cui è stato effettuato il provisioning.

Importante

In alcune circostanze, potrebbe essere necessario compattare un database per recuperare spazio inutilizzato. Per altre informazioni, vedere Gestire lo spazio file nel database SQL di Azure.

Monitorare o annullare le modifiche di ridimensionamento

Un'operazione di modifica o ridimensionamento del calcolo del livello di servizio può essere monitorata e annullata.

Nella pagina Panoramica del pool elastico SQL, andare su Notifiche e selezionare il riquadro che indica che è in corso un'operazione:

Screenshot from the Azure portal of an ongoing deployment in progress.

Nella pagina Distribuzione in corso selezionare Annulla.

Autorizzazioni

Per ridimensionare i pool elastici tramite il portale di Azure, PowerShell, l'interfaccia della riga di comando di Azure o l'API REST, sono necessarie le autorizzazioni di Controllo degli accessi in base al ruolo di Azure, in particolare i ruoli Controllo degli accessi in base al ruolo di Azure Collaboratore, Collaboratore Database SQL o Collaboratore SQL Server. Per altre informazioni, vedere Ruoli predefiniti di Controllo degli accessi in base al ruolo di Azure.

Per i limiti generali delle risorse, vedere Limiti delle risorse basate su vCore per il database SQL - pool elastici e Limiti delle risorse basate su DTU per il database SQL - pool elastici.