Erstellen eines Instanzenpools (Vorschau) - Azure SQL Managed Instance
Gilt für:Azure SQL Managed Instance
In diesem Artikel erfahren Sie, wie Sie einen Instanzpool für Azure SQL Managed Instance erstellen und wie Instanzen in und aus dem Pool verschoben werden.
Instanzpools ermöglichen es, mehrere Instanzen mit gemeinsam genutzten Ressourcen auf einem einzelnen virtuellen Computer bereitzustellen, was eine bequeme und kostengünstige Infrastruktur zum Migrieren mehrerer SQL Server-Instanzen bietet, ohne kleinere und weniger rechenintensive Workloads auf einer größeren SQL-verwalteten Instanz konsolidieren zu müssen.
Hinweis
Instance-Pools für Azure SQL Managed Instance befinden sich derzeit in der Vorschau.
Voraussetzungen
Zum Erstellen eines Instanzpools sollten Sie über Folgendes verfügen:
- Ein vorhandenes virtuelles Netzwerk mit einem entsprechend großen Subnetzbereich.
- Das neueste Az.SQL-Modul für die aktuelle Version von PowerShell oder die neueste Version der Azure CLI.
- Überprüfte Instanz- und Pooleigenschaften.
Überlegungen zur Subnetzgröße
Planen Sie sorgfältig die Größe Ihres Subnetzes, wenn Sie einen Instanzpool verwenden möchten. Weitere Informationen finden Sie unter Ermitteln der erforderlichen Subnetzgröße und des erforderlichen Bereichs für die Subnetzgrößenrichtlinien.
Verwenden Sie die folgende Formel, wenn Sie die Anzahl der IP-Adressen berechnen, die von einem Instanzpool erforderlich sind, der mehrere Universell-Instanzen enthält:
2 * (5 + (3 * # of MIs)) + 5
# of MIs
bezieht sich auf die maximale potenzielle Anzahl von Instanzen, die Sie bereitstellen möchten. Die maximal mögliche Anzahl von Instanzen im Pool beträgt 40.
Instanzenpool erstellen
Sie können über PowerShell oder die Azure-Befehlszeilenschnittstelle einen Instanzenpool erstellen. Beachten Sie Folgendes:
- Derzeit ist nur die Dienstebene „Universell“ auf Hardware der Standardserien (Gen5) oder Premium-Serie verfügbar.
- Der Poolname darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten, und er darf nicht mit einem Bindestrich beginnen.
- Der Azure-Hybridvorteil wird er auf Ebene des Instanzpools angewandt. Sie können den Lizenztyp festlegen, wenn Sie den Pool erstellen, und den Lizenztyp aktualisieren, nachdem der Pool erstellt wurde.
Wichtig
Das Bereitstellen eines Instanzenpools ist ein zeitintensiver Vorgang, der bis zu 4,5 Stunden dauern kann.
Verwenden Sie New-AzSqlInstancePool, um ihren Instanzpool zu erstellen.
Beachten Sie Folgendes:
- Verwenden Sie für
LicenseType
BasePrice für den Azure-Hybridvorteil oder LicenseIncluded, wenn Sie nicht über eine SQL Server-Lizenz verfügen, die für den Azure-Hybridvorteil-Rabatt verwendet werden kann. - Verwenden Sie
Get-AzLocation | select displayname, location
zum Abrufen einer Liste von Regionen, in denen Instanzenpools verfügbar sind.
Erstellen Sie einen neuen Instance-Pool mit 8 virtuellen Kernen auf Standardreihen-Hardware (Gen5), indem Sie das folgende Beispielskript ausführen:
# 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>
Erstellen einer neuen Instanz im Pool
Nachdem Ihr Pool erstellt wurde, können Sie eine neue Instanz innerhalb des Pools mithilfe von PowerShell oder der Azure CLI erstellen.
Um Poolparameter zu identifizieren, verwenden Sie Get-AzSqlInstancePool und erstellen Sie dann Ihre Instanz innerhalb des spezifischen Pools mit New-AzSqlInstance.
Erstellen Sie eine neue Instanz in Ihrem Pool, indem Sie das folgende Beispielskript ausführen:
$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 `
Bewegen einer vorhandenen Instanz
Sie können eine vorhandene Instanz mithilfe von PowerShell oder der Azure CLI in einen Pool verschieben, wenn:
- Sie sich in derselben Ressourcengruppe wie der Pool befindet.
- Sie sich im selben virtuellen Netzwerk und Subnetz wie der Pool befindet.
- Sie zu den Ressourcengrenzwerten für den Instanzpool passt.
Wenn eine vorhandene Instanz in einen Pool verschoben wird, haben Einstellungen auf Poolebene Vorrang vor Einstellungen auf Instanzenebene. Beispielsweise erbt die Instanz den Lizenztyp und die Einstellung des Wartungsfensters auf Poolebene. Wenn eine Instanz aus dem Pool verschoben wird, behält sie die vom Pool geerbten Einstellungen bei. Die einzige Ausnahme ist der Lizenztyp, der standardmäßig auf "LicenseIncluded" zurückgeht, wenn eine Instanz aus dem Instanzpool entfernt wird. Der Azure-Hybridvorteil und Hybrid-Failover-Rechte müssen manuell konfiguriert werden, nachdem eine Instanz aus einem Pool verschoben wurde.
Um eine Instanz in einen Pool zu verschieben, geben Sie den Poolnamen an, wenn Sie Set-AzSqlInstance verwenden:
$instance01 | Set-AzSqlInstance -InstancePoolName $instancePoolName
Um eine Instanz aus einem Pool zu verschieben, geben Sie einen leeren Poolnamen an:
$instance01 | Set-AzSqlInstance -InstancePoolName ''
Herstellen einer Verbindung mit einer Instanz in einem Pool
Um eine Verbindung mit einer Instanz in einem Pool herzustellen, aktivieren Sie zuerst den öffentlichen Endpunkt für die Instanz, und lassen Sie dann öffentlichen Endpunktdatenverkehr in der Netzwerksicherheitsgruppe zu.
Um den öffentlichen Endpunkt für eine Instanz zu aktivieren, legen Sie -PublicDataEndpointEnabled
auf true fest, wenn Sie Instanzeigenschaften mit Set-AzSqlInstance aktualisieren:
$instance01 | Set-AzSqlInstance -InstancePoolName $instancePoolName -PublicDataEndpointEnabled $true
Erstellen einer Datenbank
Das Erstellen einer Datenbank für eine Instanz innerhalb eines Pools entspricht dem Erstellen einer Datenbank für eine einzelne Instanz. Sie können mithilfe der Azure CLI oder mithilfe von Azure PowerShell eine neue Datenbank erstellen.
Verwenden Sie New-AzSqlInstanceDatabase, um eine neue Datenbank für Ihre Instanz zu erstellen:
New-AzSqlInstanceDatabase -Name <database name> -InstanceName <instance name> -ResourceGroupName <resource group>
Abrufen der Poolnutzung
Sie können PowerShell verwenden, um zu festzulegen, wie Ressourcen in einem Pool verwendet werden.
Verwenden Sie Get-AzSqlInstance, um eine Liste von Instanzen innerhalb eines Pools abzurufen:
$instancePool | Get-AzSqlInstance
Verwenden Sie Get-AzSqlInstancePoolUsage, um die Ressourcennutzung des Pools abzurufen:
$instancePool| Get-AzSqlInstancePoolUsage
Sie können den Parameter "-ExpandChildren" hinzufügen, um einen detaillierten Überblick über den Pool und die darin enthaltenen Instanzen zu erhalten:
$instancePool | Get-AzSqlInstancePoolUsage –ExpandChildren
Verwenden Sie Get-AzSqlInstanceDatabase, um die Datenbanken in einer Instanz aufzulisten:
$databases = Get-AzSqlInstanceDatabase -InstanceName $instance01Name -ResourceGroupName $resourceGroupName
Hinweis
Überprüfen Sie die Ressourcenbeschränkungen, um die in einem Pool bereitgestellten Instanzen und Datenbanken pro Instanzpool zu überprüfen.
Aktualisieren eines Instanzenpools
Sie können PowerShell verwenden, um Änderungen an den Instanzenpoolgrenzwerten vorzunehmen.
Das folgende Beispielskript ändert den Lizenztyp, die Größe der virtuellen Kerne und den Hardwaretyp:
Ändern des Lizenztyps:
$instancePool | Set-AzSqlInstancePool -LicenseType BasePrice -VCores 16 -ComputeGeneration Gen8
Sie können auch die verfügbaren Wartungsfensterzeitpläne festlegen:
# '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"}
Anschließend können Sie das Wartungsfenster ändern, indem Sie eine Fensteroption angeben, z. B.:
$instancePool | Set-AzSqlInstancePool -MaintenanceConfigurationId $maintenanceWindowOptions[1].Id
Aktualisieren eine gepoolten Instanz
Wenn die Grenzwerte für Poolressourcen nicht überschritten wurden, können Sie Ressourcenkonfigurationen für eine Instanz innerhalb eines Pools mithilfe von PowerShell oder der Azure CLI ändern.
Verwenden Sie Set-AzSqlInstance, um Ressourcenparameter für eine Instanz innerhalb eines Pools zu ändern.
Das folgende Skript aktualisiert beispielsweise die virtuellen Kerne auf 8 und ändert die Speichergröße für Instance1 auf 512 GB:
$instance1name | Set-AzSqlInstance -VCore 8 -StorageSizeInGB 512 -InstancePoolName $instancePoolName
Löschen eines Instanzpools
Sie können einen Instanzpool mithilfe von PowerShell oder der Azure CLI löschen, sobald alle Instanzen im Pool gelöscht oder aus dem Pool verschoben wurden.
Verwenden Sie Remove-AzSqlInstancePool, um einen Instanzpool zu löschen.
Das folgende Beispielskript löscht einen leeren Instanzpool:
Remove-AzSqlInstancePool -ResourceGroupName <resource group name -Name <instance pool name>
Vorgänge für Instanzenpools
Die folgende Tabelle zeigt die verfügbaren Instanzpool-Operationen:
Get-Help | Azure-Portal | PowerShell | Azure CLI |
---|---|---|---|
Erstellen eines Instanzenpools | Nein | Ja | Ja |
Aktualisieren von Pooleigenschaften | No | Ja | Ja |
Überprüfen der Verwendung und der Eigenschaften eines Pools | Ja | Ja | Ja |
Löschen eines Instanzpools | Ja | Ja | Ja |
Erstellen einer verwalteten Instanz innerhalb eines Pools | No | Ja | Ja |
Verschieben einer verwalteten Instanz in einen Pool | No | Ja | Ja |
Löschen einer verwalteten Instanz aus einem Pool | Ja | Ja | Ja |
Verschieben einer verwalteten Instanz aus einem Pool | No | Ja | Ja |
Erstellen einer Datenbank in einer Instanz innerhalb eines Pools | Ja | Ja | Ja |
Löschen einer Datenbank aus SQL Managed Instance | Ja | Ja | Ja |
Zur Verwendung von PowerShell installieren Sie die neueste Version von PowerShell Core, und befolgen Sie die Anweisungen zum Installieren des Azure PowerShell-Moduls.
Verfügbare PowerShell-Befehle:
Cmdlet | BESCHREIBUNG |
---|---|
New-AzSqlInstancePool | Erstellt einen Instanzenpool. |
Get-AzSqlInstancePool | Gibt Informationen über einen Instanzpool zurück. |
Set-AzSqlInstancePool | Legt Eigenschaften für einen Instanzenpool fest. |
Remove-AzSqlInstancePool | Entfernt einen Instanzenpool. |
Get-AzSqlInstancePoolUsage | Gibt Informationen zur Verwendung von Instanzenpools zurück. |
Verwenden Sie für Vorgänge für Instanzen innerhalb von Pools sowie für Einzelinstanzen die Standardbefehle für verwaltete Instanzen. Wenn diese Befehle für eine Instanz in einem Pool verwendet werden, muss allerdings der Name des Instanzenpools angegeben werden.
Begrenzungen
Während der öffentlichen Vorschau haben Instanzen in einem Pool die folgenden Einschränkungen:
- Der Poolname darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten, und er darf nicht mit einem Bindestrich beginnen.
- Alle Instanzen im Pool verwenden dasselbe Lizenzierungsmodell. Wenn Sie ein Lizenzmodell für eine Instanz angeben, die sich vom Lizenzmodell für den Pool unterscheidet, wird das Poollizenzmodell verwendet. Wenn die Instanz aus dem Pool verschoben wird, wechselt sie automatisch zu einer vollständig bezahlten Lizenz (
LicenseType
= 'LicenseIncluded'). Aktivieren Sie den Azure-Hybridvorteil oder die Hybrid-Failover-Rechte manuell, um das Lizenzierungsmodell zu ändern. - Poolinstanzen müssen derselben Subnetz- und Ressourcengruppe angehören. Das Bewegen einer Instanz in und aus dem Pool ist nur innerhalb des Subnetzes des Pools und derselben Ressourcengruppe möglich.
- Nur die Dienstebene Universell ist auf Hardware der Standardserie (Gen5) oder der Premium-Serie verfügbar. Die Dienstebene Universell der nächsten Generation, Unternehmenskritisch und die speicheroptimierte Hardware der Premium-Serie sind nicht verfügbar.
- Die maximal mögliche Anzahl von Instanzen im Pool beträgt 40.
- Ein Instanzpool kann nur gelöscht werden, nachdem alle Instanzen im Pool entweder gelöscht oder aus dem Pool verschoben wurden.
- Sie können das Azure-Portal nicht nutzen für:
- Die Konfiguration des Instanzenpools. Verwenden Sie stattdessen PowerShell oder das Azure CLI.
- Das Bewegen von Instanzen in und aus dem Pool. Verwenden Sie stattdessen PowerShell oder das Azure CLI.
- Die folgenden Features von SQL Managed Instance werden nicht unterstützt, wenn sich Instanzen in einem Pool befinden:
- Failover-Gruppen. Failover-Rechte sind für Instanzen in einem Pool nicht verfügbar.
- Starten/Beenden.
- Zonenredundanz.
- Preise für reservierte Kapazität-Instanzen sind nicht verfügbar.
Supportanfragen
Sie können Supportanfragen für Instanzenpools im Azure-Portal erstellen und verwalten.
Wenn Sie Probleme bei der Erstellung oder dem Löschen von Instanzen haben, stellen Sie sicher, dass Sie Instanzenpools im Feld Problemuntertyp angeben.
Wenn Probleme im Zusammenhang mit einer verwalteten Einzelinstanz oder Datenbank in einem Pool auftreten, empfiehlt es sich, ein reguläres Supportticket für Azure SQL Managed Instance zu erstellen.
Zur Erstellung größerer SQL Managed Instance-Bereitstellungen (mit oder ohne Instanzenpools) benötigen Sie möglicherweise ein größeres regionales Kontingent. Weitere Informationen finden Sie unter Anfordern von Kontingenterhöhungen für Azure SQL-Datenbank. Die Bereitstellungslogik für Instanzenpools vergleicht den Gesamtverbrauch von virtuellen Kernen auf Poolebene mit Ihrem Kontingent, um zu ermitteln, ob Sie ohne Kontingenterhöhung neue Ressourcen erstellen können.
Zugehöriger Inhalt
- Allgemeine SQL-Features.
- Virtuelle Netzwerkkonfiguration für SQL Managed Instance.
- Erstellen eines Schnellstarts einer verwalteten Instanz.
- Migration von SQL Managed Instance mithilfe des Database Migration Service.
- Überwachen Sie Azure SQL Managed Instance, indem Sie die Azure SQL-Analyse verwenden.
- Preise für SQL Managed Instance.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für