Azure SQL Managed Instance implementeren in een exemplaarpool

VAN TOEPASSING OP: Azure SQL Managed Instance

In dit artikel vindt u meer informatie over het maken van een exemplaarpool en het implementeren van Azure SQL Managed Instance.

Bewerkingen van exemplaarpool

In de volgende tabel ziet u de beschikbare bewerkingen met betrekking tot exemplaarpools en hun beschikbaarheid in de Azure Portal, PowerShell en Azure CLI.

Opdracht Azure Portal PowerShell Azure CLI
Een exemplaarpool maken Nee Ja Ja
Een exemplaarpool bijwerken (beperkt aantal eigenschappen) Nee Ja Ja
Gebruik en eigenschappen van een exemplaarpool controleren Nee Ja Ja
Een exemplaarpool verwijderen Nee Ja Ja
Een beheerd exemplaar binnen een exemplaarpool maken Nee Ja Nee
Resourcegebruik voor een beheerd exemplaar bijwerken Ja Ja Nee
Gebruik en eigenschappen voor een beheerd exemplaar controleren Ja Ja Nee
Een beheerd exemplaar uit de pool verwijderen Ja Ja Nee
Een database maken in een exemplaar binnen de pool Ja Ja Nee
Een database verwijderen uit SQL Managed Instance Ja Ja Nee

Als u PowerShell wilt gebruiken, installeertu de nieuwste versie van PowerShell Core en volgt u de instructies om de Azure PowerShell installeren.

Beschikbare PowerShell-opdrachten:

Cmdlet Beschrijving
New-AzSqlInstancePool Hiermee maakt u SQL managed instance-pool.
Get-AzSqlInstancePool Retourneert informatie over een exemplaarpool.
Set-AzSqlInstancePool Hiermee stelt u eigenschappen in voor een exemplaarpool in SQL Managed Instance.
Remove-AzSqlInstancePool Hiermee verwijdert u een exemplaarpool in SQL Managed Instance.
Get-AzSqlInstancePoolUsage Retourneert informatie over het SQL van beheerde exemplaren.

Gebruik voor bewerkingen met betrekking tot exemplaren binnen pools en enkele exemplaren de standaardopdrachten voor beheerde exemplaren, maar de eigenschap naam van de exemplaarpool moet worden ingevuld wanneer u deze opdrachten gebruikt voor een exemplaar in een pool.

Implementatieproces

Als u een beheerd exemplaar wilt implementeren in een exemplaarpool, moet u eerst de exemplaargroep implementeren. Dit is een eenmalig langlopende bewerking waarbij de duur hetzelfde is als het implementeren van één exemplaar dat is gemaakt in een leeg subnet. Daarna kunt u een beheerd exemplaar implementeren in de pool. Dit is een relatief snelle bewerking die doorgaans maximaal vijf minuten duurt. De parameter instantiepool moet expliciet worden opgegeven als onderdeel van deze bewerking.

In de openbare preview worden beide acties alleen ondersteund met behulp van PowerShell en Azure Resource Manager sjablonen. De Azure Portal is momenteel niet beschikbaar.

Nadat een beheerd exemplaar is geïmplementeerd in een pool, kunt u de Azure Portal om de eigenschappen ervan te wijzigen op de pagina prijscategorie.

Een virtueel netwerk maken met een subnet

Zie de volgende artikelen als u meerdere exemplaarpools in hetzelfde virtuele netwerk wilt plaatsen:

Een exemplaarpool maken

Nadat u de vorige stappen hebt doorlopen, bent u klaar om een exemplaarpool te maken.

De volgende beperkingen zijn van toepassing op exemplaarpools:

  • Alleen Algemeen en Gen5 zijn beschikbaar in de openbare preview.
  • De naam van de groep mag alleen kleine letters, cijfers en afbreekstreelopen bevatten en kan niet beginnen met een koppelteken.
  • Als u een Azure Hybrid Benefit, wordt dit toegepast op het niveau van de exemplaarpool. U kunt het licentietype instellen tijdens het maken van de groep of het op elk gewenst moment bijwerken na het maken.

Belangrijk

Het implementeren van een exemplaarpool is een langdurige bewerking die ongeveer 4,5 uur duurt.

Netwerkparameters op te halen:

$virtualNetwork = Get-AzVirtualNetwork -Name "miPoolVirtualNetwork" -ResourceGroupName "myResourceGroup"
$subnet = Get-AzVirtualNetworkSubnetConfig -Name "miPoolSubnet" -VirtualNetwork $virtualNetwork

Een exemplaarpool maken:

$instancePool = New-AzSqlInstancePool `
  -ResourceGroupName "myResourceGroup" `
  -Name "mi-pool-name" `
  -SubnetId $subnet.Id `
  -LicenseType "LicenseIncluded" `
  -VCore 8 `
  -Edition "GeneralPurpose" `
  -ComputeGeneration "Gen5" `
  -Location "westeurope"

Belangrijk

Omdat het implementeren van een exemplaarpool een langdurige bewerking is, moet u wachten totdat deze is voltooid voordat u een van de volgende stappen in dit artikel kunt uitvoeren.

Een beheerd exemplaar maken

Na de geslaagde implementatie van de exemplaarpool is het tijd om er een beheerd exemplaar in te maken.

Voer de volgende opdracht uit om een beheerd exemplaar te maken:

$instanceOne = $instancePool | New-AzSqlInstance -Name "mi-one-name" -VCore 2 -StorageSizeInGB 256

Het implementeren van een exemplaar in een pool duurt enkele minuten. Nadat het eerste exemplaar is gemaakt, kunnen er extra exemplaren worden gemaakt:

$instanceTwo = $instancePool | New-AzSqlInstance -Name "mi-two-name" -VCore 4 -StorageSizeInGB 512

Een database maken

Gebruik de opdrachten voor één exemplaar om databases te maken en te beheren in een beheerd exemplaar dat zich in een pool.

Een database maken in een beheerd exemplaar:

$poolinstancedb = New-AzSqlInstanceDatabase -Name "mipooldb1" -InstanceName "poolmi-001" -ResourceGroupName "myResourceGroup"

Poolgebruik opsnr.

Een lijst met exemplaren in een pool op te halen:

$instancePool | Get-AzSqlInstance

Resourcegebruik van de pool op te halen:

$instancePool | Get-AzSqlInstancePoolUsage

Ga als volgende te werk om een gedetailleerd gebruiksoverzicht te krijgen van de pool en exemplaren erin:

$instancePool | Get-AzSqlInstancePoolUsage –ExpandChildren

De databases in een exemplaar op een lijst zetten:

$databases = Get-AzSqlInstanceDatabase -InstanceName "pool-mi-001" -ResourceGroupName "resource-group-name"

Notitie

Voor het controleren van limieten voor het aantal databases per exemplaarpool en beheerd exemplaar dat in de pool is geïmplementeerd, gaat u naar de sectie Resourcelimieten voor exemplaarpools.

Schalen

Nadat u een beheerd exemplaar hebt gevuld met databases, kunt u limieten voor exemplaren met betrekking tot opslag of prestaties overschrijden. In dat geval kunt u uw exemplaar schalen als het poolgebruik niet is overschreden. Het schalen van een beheerd exemplaar binnen een pool is een bewerking die enkele minuten duurt. De vereiste voor schalen is beschikbare vCores en opslag op het niveau van de exemplaargroep.

Het aantal vCores en de opslaggrootte bijwerken:

$instanceOne | Set-AzSqlInstance -VCore 8 -StorageSizeInGB 512 -InstancePoolName "mi-pool-name"

Alleen de opslaggrootte bijwerken:

$instance | Set-AzSqlInstance -StorageSizeInGB 1024 -InstancePoolName "mi-pool-name"

Verbinding maken

Als u verbinding wilt maken met een beheerd exemplaar in een pool, zijn de volgende twee stappen vereist:

  1. Schakel het openbare eindpunt in voor het exemplaar.
  2. Voeg een regel voor binnenkomende gegevens toe aan de netwerkbeveiligingsgroep (NSG).

Nadat beide stappen zijn voltooid, kunt u verbinding maken met het exemplaar met behulp van een openbaar eindpuntadres, poort en referenties die zijn opgegeven tijdens het maken van het exemplaar.

Het openbare eindpunt inschakelen

U kunt het openbare eindpunt voor een exemplaar inschakelen via de Azure Portal of met behulp van de volgende PowerShell-opdracht:

$instanceOne | Set-AzSqlInstance -InstancePoolName "pool-mi-001" -PublicDataEndpointEnabled $true

Deze parameter kan ook worden ingesteld tijdens het maken van het exemplaar.

Een binnenkomende regel toevoegen aan de netwerkbeveiligingsgroep

Deze stap kan worden uitgevoerd via de Azure Portal of met behulp van PowerShell-opdrachten en kan op elk gewenst moment worden uitgevoerd nadat het subnet is voorbereid voor het beheerde exemplaar.

Zie Openbaar eindpuntverkeer toestaan in de netwerkbeveiligingsgroep voor meer informatie.

Een bestaand exemplaar naar een pool verplaatsen

Het verplaatsen van exemplaren naar en uit een pool is een van de beperkingen van de openbare preview. Een tijdelijke oplossing is afhankelijk van herstel naar een bepaald tijdstip van databases van een exemplaar buiten een pool naar een exemplaar dat zich al in een pool.

Beide exemplaren moeten zich in hetzelfde abonnement en dezelfde regio hebben. Herstellen tussen regio's en abonnementen wordt momenteel niet ondersteund.

Dit proces heeft een periode van downtime.

Bestaande databases verplaatsen:

  1. Werkbelastingen onderbreken voor het beheerde exemplaar van waar u migreert.

  2. Genereer scripts om systeemdatabases te maken en deze uit te voeren op het exemplaar in de exemplaarpool.

  3. Herstel naar een bepaald tijdstip van elke database van het ene exemplaar naar het exemplaar in de pool.

    $resourceGroupName = "my resource group name"
    $managedInstanceName = "my managed instance name"
    $databaseName = "my source database name"
    $pointInTime = "2019-08-21T08:51:39.3882806Z"
    $targetDatabase = "name of the new database that will be created"
    $targetResourceGroupName = "resource group of instance pool"
    $targetInstanceName = "pool instance name"
    
    Restore-AzSqlInstanceDatabase -FromPointInTimeBackup `
      -ResourceGroupName $resourceGroupName `
      -InstanceName $managedInstanceName `
      -Name $databaseName `
      -PointInTime $pointInTime `
      -TargetInstanceDatabaseName $targetDatabase `
      -TargetResourceGroupName $targetResourceGroupName `
      -TargetInstanceName $targetInstanceName
    
  4. Wijs uw toepassing naar het nieuwe exemplaar en hervat de workloads.

Als er meerdere databases zijn, herhaalt u het proces voor elke database.

Volgende stappen