Condividi tramite


Creare un pool di istanze (anteprima) - Istanza gestita di SQL di Azure

Si applica a:Istanza gestita di SQL di Azure

Questo articolo illustra come creare un pool di istanze per Istanza gestita di SQL di Azure tramite il portale di Azure, PowerShell o l’interfaccia della riga di comando di Azure nonché come spostare le istanze all'interno e all'esterno del pool tramite PowerShell o l’interfaccia della riga di comando di Azure.

I pool di istanze consentono di distribuire più istanze con risorse condivise in una singola macchina virtuale, che offre un'infrastruttura conveniente e conveniente per eseguire la migrazione di più istanze di SQL Server senza dover consolidare carichi di lavoro più piccoli e meno a elevato utilizzo di calcolo in un’Istanza gestita di SQL più grande.

Nota

I pool di istanze per l’istanza gestita di SQL di Azure è attualmente in anteprima.

Prerequisiti

Per creare un pool di istanze, è necessario disporre di:

Considerazioni sulle dimensioni della subnet

Pianificare attentamente le dimensioni della subnet quando si usa un pool di istanze. Vedere Determinare le dimensioni e l'intervallo di subnet necessari per le linee guida per il ridimensionamento della subnet.

Usare la formula seguente per calcolare il numero di indirizzi IP richiesti da un pool di istanze che contiene più istanze per utilizzo generico:

2 * (5 + (3 * # of MIs)) + 5

# of MIs si riferisce al numero massimo di istanze di cui si intende effettuare il provisioning. Il numero massimo possibile di istanze in un pool è 40.

Creare il pool di istanze

È possibile creare un pool di istanze tramite il portale di Azure, PowerShell o l'interfaccia della riga di comando di Azure. Considerare quanto segue:

  • Attualmente è disponibile solo il livello di servizio Per utilizzo generico su hardware serie Standard (Gen5) o Premium.
  • Il nome del pool può contenere solo lettere minuscole, numeri e trattini e non può iniziare con un trattino.
  • Vantaggio Azure Hybrid viene applicato a livello di pool di istanze. È possibile impostare il tipo di licenza quando si crea il pool e aggiornare il tipo di licenza dopo la creazione del pool.

Importante

La distribuzione di un pool di istanze è un'operazione a esecuzione prolungata che richiede circa 4,5 ore.

Seguire questa procedura per creare un pool di istanze nel portale di Azure:

  1. Cercare pool di istanze nel portale di Azure e selezionare il servizio Pool di istanze per aprire la pagina Pool di istanze:

    Screenshot della ricerca di pool di istanze nel portale di Azure.

  2. Nella pagina pool di istanze, selezionare + Crea per aprire la pagina Crea Istanza gestita di SQL di Azure:

    Screenshot della pagina dei pool di istanze nel portale di Azure, con +Crea selezionato.

  3. Su Creare un'istanza gestita di SQL di Azure:

    1. Nella scheda Dati principali specificare i dettagli di Progetto e Istanza.
    2. Usare Configura pool di istanze in Calcolo e archiviazione per aprire la paginaCalcolo e Archiviazione e scegliere il livello di servizio, l'hardware di calcolo e la licenza di SQL Server che si vuole usare per il pool. Usare Applica per salvare le impostazioni di calcolo e tornare alla pagina Crea pool Istanza gestita di SQL di Azure.
    3. Selezionare una rete virtuale esistente o configurare una nuova rete virtuale nella scheda Rete.
    4. (Facoltativo) Configurare una finestra di manutenzione non predefinita per il pool nella scheda Impostazioni aggiuntive.
    5. Esaminare la configurazione nella scheda Rivedi e crea e quindi selezionare Crea per creare il pool di istanze.

    Screenshot della pagina Crea istanza gestita di SQL di Azure del portale di Azure con Configurare pool di istanze selezionato.

  4. È possibile monitorare la distribuzione del pool da Notifiche.

Dopo aver creato il pool di istanze, è possibile creare una nuova istanza nel pool usando il portale di Azure oppure spostare un'istanza esistente nel pool usando PowerShell o l'interfaccia della riga di comando di Azure.

Creare una nuova istanza all'interno del pool

Dopo aver creato il pool, è possibile creare una nuova istanza al suo interno usando il potale di Azure, PowerShell o l'interfaccia della riga di comando di Azure.

Considerare quanto segue:

  • È necessario specificare il tipo di licenza per la nuova istanza e deve corrispondere al tipo di licenza del pool.

Per creare una nuova istanza all’interno di un pool tramite il portale di Azure, seguire questa procedura:

  1. Passare alla pagina Azure SQL nel portale di Azure.

  2. Nella pagina Azure SQL, selezionare + Crea per aprire Selezionare l'opzione di distribuzione SQL.

  3. Nel riquadro Istanze gestite di SQL selezionare Istanza singola come tipo di risorsa e quindi selezionare Crea per aprire la pagina Crea istanza gestita di SQL di Azure.

  4. Nella scheda Dati generali della pagina Crea Istanza gestita di SQL di Azure:

    1. Selezionare il gruppo di risorse che contiene il pool di istanze esistente.
    2. Scegliere per Appartiene a un pool di istanze? in Dettagli istanza gestita per creare la nuova istanza all'interno di un pool di istanze.
    3. Selezionare il pool dall'elenco a discesa pool di istanze.

    Screenshot della pagina Crea istanza gestita di SQL di Azure del portale di Azure che appartiene a un pool di istanze selezionato.

  5. Inserire i dettagli rimanenti nella pagina Crea Istanza gestita di SQL di Azure per creare la propria istanza all’interno del pool. Per informazioni dettagliate, vedere Creare Istanza gestita di SQL.

  6. Selezionare Rivedi e crea per rivedere le impostazioni per la nuova istanza e quindi usare Crea per distribuire l'istanza all'interno del pool selezionato.

Spostare l’istanza esistente

È possibile spostare un'istanza esistente all'interno e all'esterno di un pool usando PowerShell o l'interfaccia della riga di comando di Azure se:

  • Si trova nello stesso gruppo di risorse del pool.
  • Si tratta della stessa rete virtuale e della stessa subnet del pool.
  • Soddisfa i limiti delle risorse del pool di istanze.

Quando un'istanza esistente viene spostata in un pool, le impostazioni a livello di pool hanno la precedenza sulle impostazioni a livello di istanza. Ad esempio, l'istanza eredita il tipo di licenza e la finestra di manutenzione impostata a livello di pool. Quando un'istanza viene spostata all'esterno del pool, mantiene le impostazioni ereditate dal pool. L'unica eccezione è rappresentata dal tipo di licenza, che per impostazione predefinita torna a "LicenseIncluded" quando un'istanza viene rimossa dal pool di istanze. Il Vantaggio Azure Hybrid e il vantaggio dei diritti di failover ibridi devono essere configurati manualmente dopo che un'istanza viene spostata da un pool.

Lo spostamento di un'istanza esistente all'interno di un pool tramite il portale di Azure non è attualmente supportato.

Per spostare un'istanza in un pool con PowerShell, specificare il nome del pool quando si usa Set-AzSqlInstance:

$instance01 | Set-AzSqlInstance -InstancePoolName $instancePoolName

Per spostare un'istanza da un pool, specificare un nome di pool vuoto :

$instance01 | Set-AzSqlInstance -InstancePoolName ''

Connettersi a un'istanza all'interno di un pool

È possibile scegliere di connettersi a un'istanza in un pool con un endpoint privato o un endpoint pubblico. Per usare un endpoint privato, è necessario usare il collegamento privato di Azure.

Per connettersi a un'istanza in un pool con un endpoint pubblico, abilitare l'endpoint pubblico e quindi consentire il traffico degli endpoint pubblici nel gruppo di sicurezza di rete.

Creazione di un database

La creazione di un database per un'istanza all'interno di un pool equivale alla creazione di un database per una singola istanza. È possibile creare un nuovo database tramite il portale di Azure, PowerShell o l'interfaccia della riga di comando di Azure.

Per creare un nuovo database per un’istanza gestita di SQL esistente tramite il portale di Azure, seguire questa procedura:

  1. Passare a Istanza gestita di SQL nel portale di Azure.
  2. Nella pagina Panoramica scegliere + Nuovo database dalla barra di comando per aprire la pagina Crea database gestito di Azure SQL.
  3. Specificare i dettagli per il nuovo database.
  4. Selezionare Rivedi e crea per esaminare la nuova configurazione del database e quindi usare Crea per distribuire il database.

Ottenere l'utilizzo del pool

È possibile usare PowerShell per determinare come vengono usate le risorse all'interno di un pool.

Per ottenere un elenco di istanze all'interno di un pool, usare Get-AzSqlInstance:

$instancePool | Get-AzSqlInstance

Per ottenere l'utilizzo delle risorse del pool, usare Get-AzSqlInstancePoolUsage:

$instancePool| Get-AzSqlInstancePoolUsage

È possibile aggiungere il parametro -ExpandChildren per ottenere una panoramica dettagliata del pool e delle istanze al suo interno:

$instancePool | Get-AzSqlInstancePoolUsage –ExpandChildren

Per elencare i database in un'istanza, usare Get-AzSqlInstanceDatabase:

$databaseParams = @{
    InstanceName = $instance01Name
    ResourceGroupName = $resourceGroupName
}

$databases = Get-AzSqlInstanceDatabase @databaseParams

Nota

Per controllare i limiti delle istanze distribuite in un pool e i database per pool di istanze, esaminare i limiti delle risorse.

Aggiornare un pool di istanze

È possibile aggiornare le impostazioni per un pool di istanze esistente usando PowerShell o l'interfaccia della riga di comando di Azure.

È possibile usare PowerShell per apportare modifiche ai limiti del pool di istanze.

Lo script di esempio seguente modifica il tipo di licenza, le dimensioni vCore e il tipo di hardware:

Cambiare tipo di licenza:

$instancePoolParams = @{
    LicenseType = "BasePrice"
    VCores = 16
    ComputeGeneration = "Gen8"
}
$instancePool | Set-AzSqlInstancePool @instancePoolParams

È anche possibile determinare le pianificazioni della finestra di manutenzione disponibili:

$parameters = @{
    Location = $location
    MaintenanceScope = "SQLManagedInstance"
}
 
$configurations = Get-AzMaintenancePublicConfiguration @parameters
$maintenanceWindowOptions = $configurations | Where-Object { $_.Location -eq $location -and $_.MaintenanceScope -eq "SQLManagedInstance" }

È quindi possibile modificare la finestra di manutenzione specificando un'opzione di finestra, ad esempio:

$instancePoolParams = @{
    MaintenanceConfigurationId = $maintenanceWindowOptions[1].Id
}

$instancePool | Set-AzSqlInstancePool @instancePoolParams

Aggiornare un'istanza in pool

Se i limiti delle risorse del pool non sono stati superati, è possibile modificare le configurazioni delle risorse per un'istanza all'interno di un pool usando PowerShell o l'interfaccia della riga di comando di Azure,

Per modificare i parametri delle risorse per un'istanza all'interno di un pool, usare Set-AzSqlInstance.

Il seguente campione aggiorna i vCore a 8 e modifica le dimensioni di archiviazione a 512 GB per Instance1:

$instancePoolParams = @{
    VCore = 8
    StorageSizeInGB = 512
    InstancePoolName = $instancePoolName
}

$instance1name | Set-AzSqlInstance @instancePoolParams

Eliminare un pool di istanze

Dopo aver eliminato tutte le istanze del pool o averle spostate all'esterno del pool, è possibile eliminare un pool di istanze usando PowerShell o l'interfaccia della riga di comando di Azure.

Per eliminare un pool di istanze, usare Remove-AzSqlInstancePool.

Lo script di esempio seguente elimina un pool di istanze vuoto:

$params = @{
    ResourceGroupName = "<resource group name>"
    Name = "<instance pool name>"
}

Remove-AzSqlInstancePool @params

Operazioni dei pool di istanze

La tabella seguente illustra le operazioni disponibili del pool di istanze:

Comando Azure portal PowerShell Interfaccia della riga di comando di Azure
Creare un pool di istanze
Aggiornare le proprietà del pool No
Controllare l'uso e le proprietà di un pool
Eliminare un pool di istanze
Creare una nuova istanza gestita all'interno del pool
Spostare un'istanza gestita in un pool No
Eliminare un'istanza gestita da un pool
Spostare un'istanza gestita fuori da un pool No
Creare un database nell'istanza all’interno di un pool
Eliminare un database da un'istanza gestita di SQL

Per usare PowerShell, installare l’ultima versione di PowerShell Core e seguire le istruzioni per installare il modulo Azure PowerShell.

Comandi di PowerShell disponibili:

Cmdlet Descrizione
New-AzSqlInstancePool Crea un pool di istanze.
Get-AzSqlInstancePool Restituisce informazioni sul pool di istanze.
Set-AzSqlInstancePool Imposta le proprietà di un pool di istanze.
Remove-AzSqlInstancePool Rimuove un pool di istanze.
Get-AzSqlInstancePoolUsage Restituisce informazioni sull'uso del pool di istanze di database.

Per le operazioni correlate alle istanze sia all'interno di pool che singole, usare i comandi per istanze gestite standard. La proprietà instance pool name deve essere popolata quando si usano questi comandi per un'istanza in un pool.

Limiti

Durante l'anteprima pubblica, le istanze in un pool presentano le limitazioni seguenti:

  • Il nome del pool può contenere solo lettere minuscole, numeri e trattini e non può iniziare con un trattino.
  • Tutte le istanze nel pool usano lo stesso modello di licenza. Quando si specifica un modello di licenza per un'istanza diversa dal modello di licenza per il pool, viene usato il modello di licenza del pool. Quando l'istanza viene spostata all'esterno del pool, passa automaticamente a una licenza a pagamento completa (LicenseType = 'LicenseIncluded'). Attivare manualmente il Vantaggio Azure Hybrid o il vantaggio dei diritti di failover ibridi per modificare il modello di licenza.
  • Le istanze in pool devono appartenere alla stessa subnet e allo stesso gruppo di risorse. Lo spostamento di un'istanza all'interno e all'esterno del pool è possibile solo all'interno della subnet del pool e dello stesso gruppo di risorse.
  • Solo il livello di servizio Per utilizzo generico è disponibile su hardware serie standard (Gen5) o premium. L’utilizzo generico di nuova generazione, livello di servizio Business Critical e l'hardware ottimizzato per la memoria premium non sono disponibili.
  • Il numero massimo possibile di istanze nel pool è 40.
  • Un pool di istanze può essere eliminato solo dopo che tutte le istanze nel pool vengono eliminate o spostate all'esterno del pool.
  • Non è possibile usare il portale di Azure per:
    • Configurano il pool dell’istanza. Usare PowerShell o l'interfaccia della riga di comando di Azure.
    • Spostare le istanze all'interno e all'esterno del pool. Usare PowerShell o l'interfaccia della riga di comando di Azure.
  • Le funzionalità di Istanza gestita di SQL seguenti non sono supportate quando le istanze si trovano in un pool:

Richieste di supporto

Creare e gestire le richieste di supporto per i pool di istanze nel portale di Azure.

Seguire questi passaggi per creare una nuova richiesta di supporto nel portale di Azure:

  1. Aprire la pagina Nuova richiesta di supporto nel portale di Azure.

  2. Nella Nuova richiesta di supporto, fornire le seguenti informazioni:

    1. Selezionare tipo di problemaTechnical.
    2. Scegliere una sottoscrizione di Azure appropriata dall'elenco a discesa.
    3. Per il tipo di Servizio, selezionare SQL Managed Instance.
    4. Per Risorsa specificare il nome del Istanza gestita di SQL se esistente o selezionare Domanda generale se non è possibile distribuire l'istanza all'interno del pool.
    5. Per Riepilogo digitare instance pools.
    6. In Tipo di problema scegliere Create, Scale, Stop, Start, or Delete Resources.
    7. In Sottotipo di problema scegliere Instance Pools.

    Screenshot della richiesta di supporto dei pool di istanze nel portale di Azure.

  3. Selezionare Avanti nelle pagine successive fino a quando non sarà possibile Creare la richiesta di supporto.

Per creare distribuzioni di istanze gestite di SQL più grandi (con o senza pool di istanze), potrebbe essere necessario ottenere una quota a livello di area maggiore. Per altre informazioni, vedere Richiedere aumenti di quota per il database SQL di Azure. La logica di distribuzione confronta il consumo totale di vCore a livello di pool con la propria quota per determinare se è possibile creare nuove risorse senza aumentare ulteriormente la quota.