Freigeben über


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 mithilfe des Azure-Portals, der PowerShell oder der Azure-CLI erstellen und wie Sie Instances mithilfe der PowerShell oder der Azure-CLI in den und aus dem Pool verschieben können.

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:

Überlegungen zur Subnetzgröße

Planen Sie sorgfältig die Größe Ihres Subnetzes, wenn Sie einen Instanzpool verwenden. 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 ein Instanzpool mithilfe des Azure-Portals, der PowerShell oder der Azure-CLI. 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.

Führen Sie die folgenden Schritte aus, um einen Pool im Azure-Portal zu erstellen:

  1. Suchen Sie im Azure-Portal nach Instanzenpools, und wählen Sie den Instanzpooldienst aus, um die Seite Instanzenpools zu öffnen:

    Screenshot: Nach den Instanzpools im Azure-Portal suchen.

  2. Wählen Sie auf der Seite Instanzpools + Erstellen, um die Seite Azure SQL Managed Instance Pool erstellen zu öffnen:

    Screenshot: Die Seite Instance-Pools im Azure-Portal mit der Option +Erstellen.

  3. Auf der Seite Azure SQL Managed Instance Pool erstellen:

    1. Geben Sie auf der Registerkarte Grundlagen Projekt- und Instanzdetails an.
    2. Verwenden Sie Instanzpool konfigurieren unter Compute + Storage, um die Seite Compute + Storage zu öffnen, und wählen Sie die Dienstebene, die Hardware und die SQL Server-Lizenz aus, die der Pool verwenden soll. Verwenden Sie Übernehmen, um Ihre Computeeinstellungen zu speichern und zur Seite Azure SQL Managed Instance Pool erstellen zurückzukehren.
    3. Wählen Sie ein vorhandenes virtuelles Netzwerk aus, oder konfigurieren Sie ein neues virtuelles Netzwerk auf der Registerkarte Netzwerk.
    4. (Optional) Konfigurieren Sie ein nicht standardmäßiges Standard Stufenfenster für den Pool auf der Registerkarte Zusätzliche Einstellungen.
    5. Überprüfen Sie Ihre Konfiguration auf der Registerkarte Überprüfen + Erstellen und wählen Sie dann Erstellen aus, um Ihren Instanzpool zu erstellen.

    Screenshot: Seite Azure SQL Managed Instance Pool erstellen im Azure-Portal, mit der Auswahl Instanzpool konfigurieren.

  4. Sie können die Poolbereitstellung über Benachrichtigungen überwachen.

Nachdem Ihr Instanzpool erstellt wurde, können Sie über das Azure-Portal eine neue Instanz in dem Pool erstellen, oder mithilfe der PowerShell oder der Azure-CLI eine vorhandene Instanz in den Pool verschieben.

Erstellen einer neuen Instanz im Pool

Nachdem Ihr Pool erstellt wurde, können Sie eine neue Instanz innerhalb des Pools mithilfe von der Azure-Portal, der PowerShell oder der Azure CLI erstellen.

Beachten Sie Folgendes:

  • Sie müssen den Lizenztyp für die neue Instanz angeben und mit dem Lizenztyp des Pools übereinstimmen.

Um eine neue Instanz innerhalb eines Pools über das Azure-Portal zu erstellen, gehen Sie wie folgt vor:

  1. Wechseln Sie im Azure-Portal zur Seite Azure SQL.

  2. Wählen Sie auf der Seite Azure SQL + Erstellen, um die Option SQL-Bereitstellung auswählen zu öffnen.

  3. Wählen Sie auf der Kachel SQL Managed Instances den Ressourcentyp Single Instance und wählen Sie dann Erstellen, um die Seite Azure SQL Managed Instance erstellen zu öffnen.

  4. Auf der Registerkarte Grundlagen auf der Seite Azure SQL Managed Instance erstellen:

    1. Wählen Sie die Ressourcengruppe aus, die Ihren vorhandenen Instanzpool enthält.
    2. Wählen Sie Ja bei Gehört zu einem Instanzpool? unter Details zur verwalteten Instanz, um Ihre neue Instanz innerhalb eines Instanzpools zu erstellen.
    3. Wählen Sie einen Pool aus der Instanzpool-Dropdownliste aus.

    Screenshot: Seite „Azure SQL Managed Instance erstellen“ im Azure-Portal mit ausgewählter Zugehörigkeit zu einem Instance-Pool.

  5. Füllen Sie die restlichen Details auf der Seite Azure SQL Managed Instance erstellen aus, um Ihre Instanz innerhalb des Pools zu erstellen. Weitere Informationen finden Sie unter Azure SQL Managed Instance erstellen.

  6. Wählen Sie Überprüfen + Erstellen aus, um die Einstellungen für Ihre neue Instanz zu überprüfen, und verwenden Sie dann Erstellen, um Ihre Instanz im ausgewählten Pool bereitzustellen.

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.

Das Verschieben einer vorhandenen Instanz innerhalb eines Pools über das Azure-Portal wird derzeit nicht unterstützt.

Um eine Instanz mithilfe von PowerShell 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

Sie können eine Verbindung mit einer Instanz in einem Pool mit einem privaten Endpunkt oder einem öffentlichen Endpunkt herstellen. Um einen privaten Endpunkt zu verwenden, müssen Sie Azure Private Link verwenden.

Um eine Verbindung zu einer Instanz in einem Pool mit einem öffentlichen Endpunkt herzustellen, müssen Sie den Endpunkt aktivieren und dann den öffentlichen Endpunktverkehr in der Netzwerksicherheitsgruppe zulassen.

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 eine neue Datenbank über das Azure-Portal, die PowerShell oder die Azure CLI erstellen.

Um eine neue Datenbank für eine vorhandene SQL-verwaltete Instanz mithilfe des Azure-Portals zu erstellen, gehen Sie wie folgt vor:

  1. Navigieren Sie im Azure-Portal zu Ihrer Instanz von SQL Managed Instance.
  2. Wählen Sie im Übersichtsbereich in der Befehlsleiste + Neue Datenbank, um die Seite Azure SQL Managed Database erstellen zu öffnen.
  3. Geben Sie Details für die neue Datenbank an.
  4. Wählen Sie Überprüfen + Erstellen aus, um die neue Datenbankkonfiguration zu überprüfen und dann Erstellen zum Bereitstellen der Datenbank zu verwenden.

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:

$databaseParams = @{
    InstanceName = $instance01Name
    ResourceGroupName = $resourceGroupName
}

$databases = Get-AzSqlInstanceDatabase @databaseParams

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 die Einstellungen für einen vorhandenen Instanzpool mithilfe der PowerShell oder der Azure CLI aktualisieren.

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:

$instancePoolParams = @{
    LicenseType = "BasePrice"
    VCores = 16
    ComputeGeneration = "Gen8"
}
$instancePool | Set-AzSqlInstancePool @instancePoolParams

Sie können auch die verfügbaren Wartungsfensterzeitpläne festlegen:

$parameters = @{
    Location = $location
    MaintenanceScope = "SQLManagedInstance"
}
 
$configurations = Get-AzMaintenancePublicConfiguration @parameters
$maintenanceWindowOptions = $configurations | Where-Object { $_.Location -eq $location -and $_.MaintenanceScope -eq "SQLManagedInstance" }

Anschließend können Sie das Wartungsfenster ändern, indem Sie eine Fensteroption angeben, z. B.:

$instancePoolParams = @{
    MaintenanceConfigurationId = $maintenanceWindowOptions[1].Id
}

$instancePool | Set-AzSqlInstancePool @instancePoolParams

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 Beispiel aktualisiert die virtuellen Kerne auf 8 und ändert die Speichergröße für Instance1 auf 512 GB:

$instancePoolParams = @{
    VCore = 8
    StorageSizeInGB = 512
    InstancePoolName = $instancePoolName
}

$instance1name | Set-AzSqlInstance @instancePoolParams

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:

$params = @{
    ResourceGroupName = "<resource group name>"
    Name = "<instance pool name>"
}

Remove-AzSqlInstancePool @params

Vorgänge für Instanzenpools

Die folgende Tabelle zeigt die verfügbaren Instanzpool-Operationen:

Get-Help Azure-Portal PowerShell Azure CLI
Erstellen eines Instanzenpools Ja 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 neuen verwalteten Instanz innerhalb eines Pools Ja 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:

Supportanfragen

Sie können Supportanfragen für Instanzenpools im Azure-Portal erstellen und verwalten.

Um eine neue Supportanfrage im Azure-Portal zu erstellen, gehen Sie wie folgt vor:

  1. Öffnen Sie die Seite Neue Supportanfrage im Azure-Portal.

  2. Geben Sie die folgenden Informationen in der neuen Supportanfrage an:

    1. Wählen Sie als Ausgabentyp Technical.
    2. Wählen Sie in der Dropdownliste das entsprechende Abonnement aus.
    3. Wählen Sie für den Diensttyp SQL Managed Instance aus.
    4. Geben Sie für Ressource den Namen ihrer SQL-verwaltete Instanz an, falls vorhanden, oder wählen Sie Allgemein aus, wenn Sie Ihre Instanz nicht innerhalb des Pools bereitstellen können.
    5. Geben Sie für die Zusammenfassung instance pools ein.
    6. Wählen Sie für Problemtyp Create, Scale, Stop, Start, or Delete Resources aus.
    7. Wählen Sie für Problem-Subtyp Instance Pools aus.

    Screenshot der Supportanfrage für Instanzenpools in Azure-Portal.

  3. Wählen Sie Weiter auf den nachfolgenden Seiten aus, bis Sie Ihre Supportanfrage erstellen können.

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.