Een exemplaarpool maken (preview) - Azure SQL Managed Instance

Van toepassing op: Azure SQL Managed Instance

In dit artikel leert u hoe u een exemplaargroep maakt voor Azure SQL Managed Instance, en hoe u exemplaren naar en uit de pool verplaatst.

Exemplaargroepen maken het mogelijk om meerdere exemplaren met gedeelde resources te implementeren op één virtuele machine, die een handige en rendabele infrastructuur biedt voor het migreren van meerdere SQL Server-exemplaren zonder dat u kleinere en minder rekenintensieve workloads hoeft samen te voegen op een groter SQL Managed Instance.

Notitie

Exemplaarpools voor Azure SQL Managed Instance zijn momenteel in preview.

Vereisten

Als u een exemplaargroep wilt maken, hebt u het volgende nodig:

Overwegingen voor subnetgrootte

Plan de grootte van uw subnet zorgvuldig als u van plan bent een exemplaargroep te gebruiken. Raadpleeg de richtlijnen voor het bepalen van de vereiste subnetgrootte en het vereiste bereik voor subnetgrootten.

Gebruik de volgende formule bij het berekenen van het aantal IP-adressen dat is vereist voor één exemplaargroep met meerdere exemplaren voor algemeen gebruik:

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

De # of MIs waarde verwijst naar het maximum aantal exemplaren dat u wilt inrichten. Het maximum aantal exemplaren in de groep is 40.

Instantie-pool maken

U kunt een exemplaargroep maken met behulp van PowerShell of de Azure CLI. Denk aan het volgende:

  • Alleen de servicelaag Algemeen gebruik op hardware uit de Standard-serie (Gen5) of premium-serie is momenteel beschikbaar.
  • De naam van de pool mag alleen kleine letters, cijfers en afbreekstreepjes bevatten en kan niet beginnen met een afbreekstreepje.
  • Azure Hybrid Benefit wordt toegepast op exemplaargroepniveau. U kunt het licentietype instellen wanneer u de pool maakt en het licentietype bijwerken nadat de pool is gemaakt.

Belangrijk

Het implementeren van een exemplaargroep is een langdurige bewerking die maximaal 4,5 uur kan duren.

Gebruik New-AzSqlInstancePool om uw exemplaargroep te maken.

Denk aan het volgende:

  • Gebruik LicenseTypeBasePrice voor Azure Hybrid Benefit of LicenseIncluded als u geen SQL Server-licentie hebt die kan worden gebruikt voor de korting voor Azure Hybrid Benefit.
  • Gebruik Get-AzLocation | select displayname, location deze functie om een lijst met regio's te verkrijgen waarin exemplaargroepen beschikbaar zijn.

Maak een nieuwe exemplaarpool met 8 vCores op standard-series (Gen5) hardware door het volgende voorbeeldscript uit te voeren:

# 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>

Nieuw exemplaar in pool maken

Nadat uw pool is gemaakt, kunt u een nieuw exemplaar in de pool maken met behulp van PowerShell of de Azure CLI.

Als u poolparameters wilt identificeren, gebruikt u Get-AzSqlInstancePool en maakt u vervolgens uw exemplaar in de specifieke pool met New-AzSqlInstance.

Maak een nieuw exemplaar in uw pool door het volgende voorbeeldscript uit te voeren:

$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 `

Bestaand exemplaar verplaatsen

U kunt een bestaand exemplaar verplaatsen naar en uit een pool met behulp van PowerShell of de Azure CLI als:

  • Deze bevindt zich in dezelfde resourcegroep als de pool.
  • Het bevindt zich in hetzelfde virtuele netwerk en subnet als de pool.
  • Deze past bij de resourcelimieten van de instantiegroep.

Wanneer een bestaand exemplaar naar een groep wordt verplaatst, hebben instellingen op groepsniveau voorrang op instellingen op exemplaarniveau. Het exemplaar neemt bijvoorbeeld het licentietype en het onderhoudsvenster over dat is ingesteld op groepsniveau. Wanneer een exemplaar uit de pool wordt verplaatst, blijven de instellingen behouden die het van de pool heeft overgenomen. De enige uitzondering is met het licentietype, dat standaard terug is op LicenseIncluded wanneer een exemplaar wordt verwijderd uit de exemplaargroep. Het voordeel van Azure Hybrid Benefit en hybride failoverrechten moet handmatig worden geconfigureerd nadat een exemplaar uit een pool is verplaatst.

Als u een exemplaar naar een pool wilt verplaatsen, geeft u de naam van de pool op wanneer u Set-AzSqlInstance gebruikt:

$instance01 | Set-AzSqlInstance -InstancePoolName $instancePoolName

Als u een exemplaar uit een pool wilt verplaatsen, geeft u een lege poolnaam op:

$instance01 | Set-AzSqlInstance -InstancePoolName ''

Verbinding maken voor exemplaar in een pool

Als u verbinding wilt maken met een exemplaar in een pool, schakelt u eerst het openbare eindpunt voor het exemplaar in en staat u vervolgens openbaar eindpuntverkeer toe in de netwerkbeveiligingsgroep.

Als u het openbare eindpunt voor een exemplaar wilt inschakelen, stelt u deze in -PublicDataEndpointEnabled op true wanneer u exemplaareigenschappen bijwerkt met Set-AzSqlInstance:

$instance01 | Set-AzSqlInstance -InstancePoolName $instancePoolName -PublicDataEndpointEnabled $true

Een -database maken

Het maken van een database voor een exemplaar in een pool is hetzelfde als het maken van een database voor één exemplaar. U kunt een nieuwe database maken met behulp van PowerShell of de Azure CLI.

Als u een nieuwe database voor uw exemplaar wilt maken, gebruikt u New-AzSqlInstanceDatabase:

New-AzSqlInstanceDatabase -Name <database name> -InstanceName <instance name> -ResourceGroupName <resource group> 

Gebruik van pools ophalen

U kunt PowerShell gebruiken om te bepalen hoe resources in een pool worden gebruikt.

Gebruik Get-AzSqlInstance om een lijst met exemplaren in een pool op te halen:

$instancePool | Get-AzSqlInstance

Gebruik Get-AzSqlInstancePoolUsage om het resourcegebruik van de pool op te halen:

$instancePool| Get-AzSqlInstancePoolUsage

U kunt de parameter -ExpandChildren toevoegen om een gedetailleerd overzicht te krijgen van de pool en instanties erin:

$instancePool | Get-AzSqlInstancePoolUsage –ExpandChildren

Als u de databases in een exemplaar wilt weergeven, gebruikt u Get-AzSqlInstanceDatabase:

$databases = Get-AzSqlInstanceDatabase -InstanceName $instance01Name  -ResourceGroupName $resourceGroupName

Notitie

Als u de limieten voor de exemplaren wilt controleren die zijn geïmplementeerd in een pool en databases per exemplaargroep, controleert u de resourcelimieten.

Een exemplaargroep bijwerken

U kunt PowerShell gebruiken om wijzigingen aan te brengen in de limieten van de exemplaargroep.

In het volgende voorbeeldscript wordt het licentietype, de vCore-grootte en het hardwaretype gewijzigd:

Licentietype wijzigen:

$instancePool | Set-AzSqlInstancePool -LicenseType BasePrice -VCores 16 -ComputeGeneration Gen8

U kunt ook de beschikbare onderhoudsvensterschema's bepalen:

# '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"}

Vervolgens kunt u het onderhoudsvenster wijzigen door een vensteroptie op te geven, zoals:

$instancePool | Set-AzSqlInstancePool -MaintenanceConfigurationId $maintenanceWindowOptions[1].Id

Een poolexemplaren bijwerken

Als de resourcelimieten van de pool niet zijn overschreden, kunt u resourceconfiguraties wijzigen voor een exemplaar in een pool met behulp van PowerShell of de Azure CLI.

Als u resourceparameters voor een exemplaar in een pool wilt wijzigen, gebruikt u Set-AzSqlInstance.

Met het volgende script worden de vCores bijvoorbeeld bijgewerkt naar 8 en wordt de opslaggrootte gewijzigd in 512 GB voor Exemplaar1:

$instance1name | Set-AzSqlInstance -VCore 8 -StorageSizeInGB 512 -InstancePoolName $instancePoolName

Een exemplaargroep verwijderen

U kunt een exemplaargroep verwijderen met behulp van PowerShell of de Azure CLI, zodra alle exemplaren in de pool zijn verwijderd of uit de pool zijn verplaatst.

Als u een exemplaargroep wilt verwijderen, gebruikt u Remove-AzSqlInstancePool.

Met het volgende voorbeeldscript wordt een lege exemplaargroep verwijderd:

Remove-AzSqlInstancePool -ResourceGroupName <resource group name -Name <instance pool name>

Bewerkingen van exemplaarpools

In de volgende tabel ziet u de beschikbare bewerkingen voor exemplaarpools:

Opdracht Azure Portal PowerShell Azure-CLI
Een exemplaargroep maken Nr. Ja Ja
Pooleigenschappen bijwerken Nr. Ja Ja
Gebruik en eigenschappen van een pool controleren Ja Ja Ja
Een exemplaargroep verwijderen Ja Ja Ja
Een beheerd exemplaar in een pool maken Nr. Ja Ja
Een beheerd exemplaar verplaatsen naar een pool Nr. Ja Ja
Een beheerd exemplaar uit een pool verwijderen Ja Ja Ja
Een beheerd exemplaar uit een pool verplaatsen Nr. Ja Ja
Een database maken in een exemplaar binnen een pool Ja Ja Ja
Een database verwijderen uit SQL Managed Instance Ja Ja Ja

Als u PowerShell wilt gebruiken, installeert u de nieuwste versie van PowerShell Core en volgt u de instructies voor het installeren van de Azure PowerShell-module.

Beschikbare PowerShell-opdrachten:

Cmdlet Beschrijving
New-AzSqlInstancePool Hiermee maakt u een exemplaarpool.
Get-AzSqlInstancePool Retourneert informatie over een exemplaargroep.
Set-AzSqlInstancePool Hiermee stelt u eigenschappen in voor een exemplaargroep.
Remove-AzSqlInstancePool Hiermee verwijdert u een exemplaargroep.
Get-AzSqlInstancePoolUsage Retourneert informatie over het gebruik van exemplaargroepen.

Voor bewerkingen die betrekking hebben op exemplaren binnen pools en enkele exemplaren, gebruikt u de standaardopdrachten voor beheerde exemplaren, maar de eigenschap naam van de instantiegroep moet worden ingevuld wanneer u deze opdrachten gebruikt voor een exemplaar in een pool.

Beperkingen

Tijdens de openbare preview gelden voor exemplaren in een pool de volgende beperkingen:

  • De naam van de pool mag alleen kleine letters, cijfers en afbreekstreepjes bevatten en kan niet beginnen met een afbreekstreepje.
  • Alle exemplaren in de pool gebruiken hetzelfde licentiemodel. Wanneer u een licentiemodel opgeeft voor een exemplaar dat verschilt van het licentiemodel voor de pool, wordt het licentiemodel voor de pool gebruikt. Wanneer het exemplaar uit de pool wordt verplaatst, wordt automatisch overgeschakeld naar een volledige betaalde licentie (LicenseType = 'LicenseIncluded'). Activeer azure Hybrid Benefit of het voordeel van hybride failoverrechten handmatig om het licentiemodel te wijzigen.
  • Gegroepeerde exemplaren moeten deel uitmaken van hetzelfde subnet en dezelfde resourcegroep. Het verplaatsen van een exemplaar in en uit de pool is alleen mogelijk binnen het subnet van de pool en dezelfde resourcegroep.
  • Alleen de servicelaag Algemeen gebruik is beschikbaar op hardware uit de Standard-serie (Gen5) of premium-serie. De servicelaag Bedrijfskritiek en geoptimaliseerde hardware uit de Premium-serie is niet beschikbaar.
  • Het maximum aantal exemplaren in de groep is 40.
  • Een exemplaargroep kan alleen worden verwijderd nadat alle exemplaren in de pool zijn verwijderd of uit de pool zijn verplaatst.
  • U kunt Azure Portal niet gebruiken om het volgende te doen:
    • Configureer de exemplaargroep. Gebruik in plaats daarvan PowerShell of de Azure CLI.
    • Exemplaren in en uit de pool verplaatsen. Gebruik in plaats daarvan PowerShell of de Azure CLI.
  • De volgende functies van SQL Managed Instance worden niet ondersteund wanneer exemplaren zich in een pool bevinden:

Ondersteuningsaanvragen

Ondersteuningsaanvragen maken en beheren voor exemplaarpools in Azure Portal.

Als u problemen ondervindt bij het maken of verwijderen van een exemplaar, moet u exemplaargroepen opgeven in het subtypeveld Probleem.

Screenshot of the Instance pools support request in the Azure portal.

Als u problemen ondervindt met betrekking tot één beheerd exemplaar of een individuele database in een pool, moet u een regelmatig ondersteuningsticket maken voor Azure SQL Managed Instance.

Als u grotere SQL Managed Instance-implementaties (met of zonder exemplaarpools) wilt maken, moet u mogelijk een groter regionaal quotum verkrijgen. Zie Quotumverhogingen aanvragen voor Azure SQL Database voor meer informatie. De implementatielogica voor exemplaargroepen vergelijkt het totale vCore-verbruik op poolniveau met uw quotum om te bepalen of u nieuwe resources mag maken zonder het quotum verder te verhogen.