Skapa en instanspool (förhandsversion) – Azure SQL Managed Instance
Gäller för:Azure SQL Managed Instance
I den här artikeln lär du dig hur du skapar en instanspool för Azure SQL Managed Instance samt hur du flyttar instanser till och från poolen.
Instanspooler gör det möjligt att distribuera flera instanser med delade resurser till en enda virtuell dator, vilket ger en bekväm och kostnadseffektiv infrastruktur för att migrera flera SQL Server-instanser utan att behöva konsolidera mindre och mindre beräkningsintensiva arbetsbelastningar till en större SQL Managed Instance.
Kommentar
Instanspooler för Azure SQL Managed Instance är för närvarande i förhandsversion.
Förutsättningar
Om du vill skapa en instanspool bör du ha:
- Ett befintligt virtuellt nätverk med ett lämpligt undernätsintervall .
- Den senaste Az.SQL modulen för den aktuella versionen av PowerShell eller den senaste versionen av Azure CLI.
- Granskad instans och poolegenskaper.
Överväganden för undernätsstorlek
Planera noggrant storleken på ditt undernät om du planerar att använda en instanspool. Se Fastställ nödvändig undernätsstorlek och -intervall för riktlinjer för storleksändring av undernät.
Använd följande formel när du beräknar antalet IP-adresser som krävs av en instanspool som innehåller flera generell användningsinstanser:
2 * (5 + (3 * # of MIs)) + 5
# of MIs
Refererar till det maximala potentiella antalet instanser som du planerar att etablera. Det maximala antalet instanser i poolen är 40.
Skapa instanspool
Du kan skapa en instanspool med Hjälp av PowerShell eller Azure CLI. Tänk på följande:
- Endast tjänstnivån Generell användning på standardserie (Gen5) eller premium-seriens maskinvara är för närvarande tillgänglig.
- Poolnamnet kan bara innehålla gemener, siffror och bindestreck och kan inte börja med ett bindestreck.
- Azure Hybrid-förmån tillämpas på instanspoolsnivå. Du kan ange licenstypen när du skapar poolen och uppdatera licenstypen när poolen har skapats.
Viktigt!
Att distribuera en instanspool är en tidskrävande åtgärd som kan ta upp till 4,5 timmar.
Om du vill skapa instanspoolen använder du New-AzSqlInstancePool.
Tänk på följande:
- För
LicenseType
använder du BasePrice för Azure Hybrid-förmån eller LicenseIncluded om du inte har en SQL Server-licens som kan användas för Azure Hybrid-förmån rabatt. - Använd
Get-AzLocation | select displayname, location
för att hämta en lista över regioner där instanspooler är tillgängliga.
Skapa en ny instanspool med 8 virtuella kärnor på standardseriemaskinvara (Gen5) genom att köra följande exempelskript:
# 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>
Skapa en ny instans i poolen
När poolen har skapats kan du skapa en ny instans i poolen med hjälp av PowerShell eller Azure CLI.
Om du vill identifiera poolparametrar använder du Get-AzSqlInstancePool och skapar sedan din instans i den specifika poolen med New-AzSqlInstance.
Skapa en ny instans i poolen genom att köra följande exempelskript:
$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 `
Flytta befintlig instans
Du kan flytta en befintlig instans till och från en pool med hjälp av PowerShell eller Azure CLI om:
- Den finns i samma resursgrupp som poolen.
- Den finns i samma virtuella nätverk och undernät som poolen.
- Den passar instanspoolens resursgränser.
När en befintlig instans flyttas till en pool har inställningar på poolnivå företräde framför inställningar på instansnivå. Instansen ärver till exempel den licenstyp och underhållsperiod som angetts på poolnivå. När en instans flyttas från poolen behåller den de inställningar som den ärvt från poolen. Det enda undantaget är med licenstypen, som som standard återgår till "LicenseIncluded" när en instans tas bort från instanspoolen – Azure Hybrid-förmån och hybrid redundansrättsförmånen måste konfigureras manuellt när en instans har flyttats från en pool.
Om du vill flytta en instans till en pool anger du poolnamnet när du använder Set-AzSqlInstance:
$instance01 | Set-AzSqlInstance -InstancePoolName $instancePoolName
Om du vill flytta en instans från en pool anger du ett tomt poolnamn:
$instance01 | Set-AzSqlInstance -InstancePoolName ''
Anslut till instans i en pool
Om du vill ansluta till en instans i en pool aktiverar du först den offentliga slutpunkten för instansen och tillåter sedan offentlig slutpunktstrafik i nätverkssäkerhetsgruppen.
Om du vill aktivera den offentliga slutpunkten för en instans anger du -PublicDataEndpointEnabled
till true när du uppdaterar instansegenskaper med Set-AzSqlInstance:
$instance01 | Set-AzSqlInstance -InstancePoolName $instancePoolName -PublicDataEndpointEnabled $true
Skapa en -databas
Att skapa en databas för en instans i en pool är detsamma som att skapa en databas för en enda instans. Du kan skapa en ny databas med hjälp av PowerShell eller Azure CLI.
Om du vill skapa en ny databas för din instans använder du New-AzSqlInstanceDatabase:
New-AzSqlInstanceDatabase -Name <database name> -InstanceName <instance name> -ResourceGroupName <resource group>
Hämta poolanvändning
Du kan använda PowerShell för att avgöra hur resurser används i en pool.
Om du vill hämta en lista över instanser i en pool använder du Get-AzSqlInstance:
$instancePool | Get-AzSqlInstance
Om du vill hämta användning av poolresurser använder du Get-AzSqlInstancePoolUsage:
$instancePool| Get-AzSqlInstancePoolUsage
Du kan lägga till parametern -ExpandChildren för att få en detaljerad översikt över poolen och instanserna i den:
$instancePool | Get-AzSqlInstancePoolUsage –ExpandChildren
Om du vill visa en lista över databaserna i en instans använder du Get-AzSqlInstanceDatabase:
$databases = Get-AzSqlInstanceDatabase -InstanceName $instance01Name -ResourceGroupName $resourceGroupName
Kommentar
Om du vill kontrollera gränserna för de instanser som distribueras till en pool och databaser per instanspool granskar du resursgränser.
Uppdatera en instanspool
Du kan använda PowerShell för att göra ändringar i instanspoolsgränserna.
Följande exempelskript ändrar licenstyp, vCore-storlek och maskinvarutyp:
Ändra licenstyp:
$instancePool | Set-AzSqlInstancePool -LicenseType BasePrice -VCores 16 -ComputeGeneration Gen8
Du kan också fastställa tillgängliga scheman för underhållsperioder:
# '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"}
Du kan sedan ändra underhållsfönstret genom att ange ett fönsteralternativ, till exempel:
$instancePool | Set-AzSqlInstancePool -MaintenanceConfigurationId $maintenanceWindowOptions[1].Id
Uppdatera en poolinstans
Om poolresursgränserna inte har överskridits kan du ändra resurskonfigurationer för en instans i en pool med hjälp av PowerShell eller Azure CLI.
Om du vill ändra resursparametrar för en instans i en pool använder du Set-AzSqlInstance.
Följande skript uppdaterar till exempel de virtuella kärnorna till 8 och ändrar lagringsstorleken till 512 GB för Instance1:
$instance1name | Set-AzSqlInstance -VCore 8 -StorageSizeInGB 512 -InstancePoolName $instancePoolName
Ta bort en instanspool
Du kan ta bort en instanspool med hjälp av PowerShell eller Azure CLI, när alla instanser i poolen antingen har tagits bort eller flyttats från poolen.
Om du vill ta bort en instanspool använder du Remove-AzSqlInstancePool.
Följande exempelskript tar bort en tom instanspool:
Remove-AzSqlInstancePool -ResourceGroupName <resource group name -Name <instance pool name>
Instanspoolsåtgärder
I följande tabell visas tillgängliga instanspoolsåtgärder:
Command | Azure Portal | PowerShell | Azure CLI |
---|---|---|---|
Skapa en instanspool | Nej | Ja | Ja |
Uppdatera poolegenskaper | Nej | Ja | Ja |
Kontrollera användning och egenskaper för en pool | Ja | Ja | Ja |
Ta bort en instanspool | Ja | Ja | Ja |
Skapa en hanterad instans i en pool | Nej | Ja | Ja |
Flytta en hanterad instans till en pool | Nej | Ja | Ja |
Ta bort en hanterad instans från en pool | Ja | Ja | Ja |
Flytta en hanterad instans från en pool | Nej | Ja | Ja |
Skapa en databas i en instans i en pool | Ja | Ja | Ja |
Ta bort en databas från SQL Managed Instance | Ja | Ja | Ja |
Om du vill använda PowerShell installerar du den senaste versionen av PowerShell Core och följer anvisningarna för att installera Azure PowerShell-modulen.
Tillgängliga PowerShell-kommandon:
Cmdlet | beskrivning |
---|---|
New-AzSqlInstancePool | Skapar en instanspool. |
Get-AzSqlInstancePool | Returnerar information om en instanspool. |
Set-AzSqlInstancePool | Anger egenskaper för en instanspool. |
Remove-AzSqlInstancePool | Tar bort en instanspool. |
Get-AzSqlInstancePoolUsage | Returnerar information om användning av instanspooler. |
För åtgärder som rör både instanser i pooler och enskilda instanser använder du standardkommandona för hanterad instans, men egenskapen för instanspoolens namn måste fyllas i när du använder dessa kommandon för en instans i en pool.
Begränsningar
Under den offentliga förhandsversionen har instanser i en pool följande begränsningar:
- Poolnamnet kan bara innehålla gemener, siffror och bindestreck och kan inte börja med ett bindestreck.
- Alla instanser i poolen använder samma licensieringsmodell. När du anger en licensmodell för en instans som skiljer sig från licensmodellen för poolen används poollicensmodellen. När instansen flyttas från poolen växlar den automatiskt till en fullständig betald licens (
LicenseType
= 'LicenseIncluded'). Aktivera Azure Hybrid-förmån eller hybrid redundansrättsförmånen manuellt för att ändra licensieringsmodellen. - Poolinstanser måste tillhöra samma undernät och resursgrupp. Att flytta en instans till och från poolen är bara möjligt i undernätet för poolen och samma resursgrupp.
- Endast tjänstnivån Generell användning är tillgänglig på Standard-serien (Gen5) eller premium-seriens maskinvara. Den Affärskritisk tjänstnivån och den minnesoptimerade maskinvaran i Premium-serien är inte tillgänglig.
- Det maximala antalet instanser i poolen är 40.
- En instanspool kan bara tas bort när alla instanser i poolen antingen har tagits bort eller flyttats från poolen.
- Du kan inte använda Azure-portalen för att:
- Konfigurera instanspoolen. Använd PowerShell eller Azure CLI i stället.
- Flytta instanser till och från poolen. Använd PowerShell eller Azure CLI i stället.
- Följande SQL Managed Instance-funktioner stöds inte när instanser finns i en pool:
- Redundansgrupper. Redundansbehörigheter är inte tillgängliga för instanser i en pool.
- Starta/stoppa.
- Zonredundans.
- Priser för reserverade kapacitetsinstanser är inte tillgängliga.
Supportförfrågningar
Skapa och hantera supportbegäranden för instanspooler i Azure-portalen.
Om du har problem med att skapa eller ta bort en instans måste du ange instanspooler i fältet Problemundertyp .
Om du har problem som rör en enda hanterad instans eller databas i en pool bör du skapa en vanlig supportbegäran för Azure SQL Managed Instance.
Om du vill skapa större SQL Managed Instance-distributioner (med eller utan instanspooler) kan du behöva skaffa en större regional kvot. Mer information finns i Begära kvotökningar för Azure SQL Database. Distributionslogik för instanspooler jämför den totala förbrukningen av virtuella kärnor på poolnivå med din kvot för att avgöra om du får skapa nya resurser utan att öka kvoten ytterligare.
Relaterat innehåll
- Vanliga SQL-funktioner.
- Konfiguration av virtuellt nätverk i SQL Managed Instance.
- Skapa en snabbstart för hanterad instans.
- SQL Managed Instance-migrering med hjälp av Database Migration Service.
- Övervaka Azure SQL Managed Instance med Hjälp av Azure SQL Analytics.
- Prissättning för SQL Managed Instance.