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, nonché come spostare le istanze all'interno e all'esterno del pool.
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:
- Una rete virtuale esistente con un intervallo di subnet di dimensioni appropriate.
- Il modulo Az.SQL più recente per la versione corrente di PowerShell o l’ultima versione dell'interfaccia della riga di comando di Azure.
- Esaminare le proprietà dell'istanza e del pool.
Considerazioni sulle dimensioni della subnet
Pianificare attentamente le dimensioni della subnet se si prevede di usare 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 contenente 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 nel pool è 40.
Creare il pool di istanze
È possibile creare un pool di istanze usando 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.
Per creare il pool di istanze, usare New-AzSqlInstancePool.
Considerare quanto segue:
- Per
LicenseType
, usare BasePrice per il Vantaggio Azure Hybrid o LicenseIncluded se non si dispone di una licenza di SQL Server che può essere usata per lo sconto Vantaggio Azure Hybrid. - Usare
Get-AzLocation | select displayname, location
per ottenere un elenco di aree in cui sono disponibili pool di istanze.
Creare un nuovo pool di istanze con 8 vCore su hardware serie standard (Gen5) eseguendo lo script di esempio seguente:
# Identify the SubnetId
$virtualNetwork = Get-AzVirtualNetwork -Name <vnet name> -ResourceGroupName <resource group name>
$miSubnet = Get-AzVirtualNetworkSubnetConfig -Name <subnet name> -VirtualNetwork $virtualNetwork
$miSubnetConfigId = $miSubnet.Id
# Create the instance
$instancePool = New-AzSqlInstancePool `
-ResourceGroupName <resource group name> `
-Name <instance pool name> `
-SubnetId $miSubnetConfigId `
-LicenseType LicenseIncluded `
-VCore 8 `
-Edition GeneralPurpose `
-ComputeGeneration Gen5 `
-Location <region>
Creare una nuova istanza all'interno del pool
Dopo aver creato il pool, è possibile creare una nuova istanza al suo interno usando PowerShell o l'interfaccia della riga di comando di Azure.
Per identificare i parametri del pool, usare Get-AzSqlInstancePool e quindi creare l'istanza all'interno del pool specifico con New-AzSqlInstance.
Creare una nuova istanza nel pool eseguendo lo script di esempio seguente:
$adminCredential = Get-Credential
$instancePool = Get-AzSqlInstancePool -ResourceGroupName <resource group name> -Name <instance pool name>
$instance01 = $instancePool | New-AzSqlInstance `
-Name $instance01`
-VCore 2 `
-StorageSizeInGB 32 `
-AdministratorCredential $adminCredential `
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.
Per spostare un'istanza in un pool, 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
Per connettersi a un'istanza in un pool, abilitare prima l'endpoint pubblico per l'istanza e quindi consentire il traffico degli endpoint pubblici nel gruppo di sicurezza di rete.
Per abilitare l'endpoint pubblico per un'istanza, impostare -PublicDataEndpointEnabled
su true quando si aggiornano le proprietà dell'istanza con Set-AzSqlInstance:
$instance01 | Set-AzSqlInstance -InstancePoolName $instancePoolName -PublicDataEndpointEnabled $true
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 usando PowerShell o l'interfaccia della riga di comando di Azure.
Per creare un nuovo database per l'istanza, usare New-AzSqlInstanceDatabase:
New-AzSqlInstanceDatabase -Name <database name> -InstanceName <instance name> -ResourceGroupName <resource group>
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:
$databases = Get-AzSqlInstanceDatabase -InstanceName $instance01Name -ResourceGroupName $resourceGroupName
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 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:
$instancePool | Set-AzSqlInstancePool -LicenseType BasePrice -VCores 16 -ComputeGeneration Gen8
È anche possibile determinare le pianificazioni della finestra di manutenzione disponibili:
# 'Available maintenance schedules in $location'
$configurations = Get-AzMaintenancePublicConfiguration
$configurations | ?{ $_.Location -eq $location -and $_.MaintenanceScope -eq "SQLManagedInstance"}
$maintenanceWindowOptions = $configurations | ?{ $_.Location -eq $location -and $_.MaintenanceScope -eq "SQLManagedInstance"}
È quindi possibile modificare la finestra di manutenzione specificando un'opzione di finestra, ad esempio:
$instancePool | Set-AzSqlInstancePool -MaintenanceConfigurationId $maintenanceWindowOptions[1].Id
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.
Ad esempio, lo script seguente aggiorna i vCore a 8 e modifica le dimensioni di archiviazione a 512 GB per Instance1:
$instance1name | Set-AzSqlInstance -VCore 8 -StorageSizeInGB 512 -InstancePoolName $instancePoolName
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:
Remove-AzSqlInstancePool -ResourceGroupName <resource group name -Name <instance pool name>
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 | No | Sì | Sì |
Aggiornare le proprietà del pool | No | Sì | Sì |
Controllare l'uso e le proprietà di un pool | Sì | Sì | Sì |
Eliminare un pool di istanze | Sì | Sì | Sì |
Creare un'istanza gestita all'interno del pool | No | Sì | Sì |
Spostare un'istanza gestita in un pool | No | Sì | Sì |
Eliminare un'istanza gestita da un pool | Sì | Sì | Sì |
Spostare un'istanza gestita fuori da un pool | No | Sì | Sì |
Creare un database nell'istanza all’interno di un pool | Sì | Sì | Sì |
Eliminare un database da un'istanza gestita di SQL | Sì | Sì | Sì |
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. Il livello di servizio Per utilizzo generico di nuova generazione, il 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:
- Gruppi di failover. I diritti di failover non sono disponibili per le istanze di un pool.
- Avvia/Arresta.
- Ridondanza della zona.
- I prezzi dell'istanza di capacità riservata non sono disponibili.
Richieste di supporto
Creare e gestire le richieste di supporto per i pool di istanze nel portale di Azure.
Se si verificano problemi durante la creazione o l’eliminazione di un’istanza, assicurarsi di specificare Pool di istanze nel campo Sottotipo del problema.
Se si verificano problemi relativi a una singola istanza gestita o a un database all'interno di un pool, è necessario creare un normale ticket di supporto per le istanze gestite di SQL di Azure.
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.
Contenuto correlato
- Funzionalità comuni di SQL.
- Configurazione della rete virtuale per l’Istanza gestita di SQL configurazione.
- Creare un'istanza gestita di avvio rapido.
- Migrazioni Istanza gestita di SQL con Servizio Migrazione del database.
- Monitorare le prestazioni di Istanza gestita di SQL di Azure usando Analisi SQL di Azure.
- Prezzi di Istanza gestita di SQL.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per