Konvertieren einer vorhandenen Datenbank in Hyperscale

Gilt für:Azure SQL-Datenbank

Sie können eine vorhandene Datenbank in Azure SQL-Datenbank in Hyperscale konvertieren, indem Sie das Azure Portal, die Azure CLI, PowerShell oder Transact-SQL verwenden.

Prerequisites

  • Um eine Datenbank zu konvertieren, die georeplikation verwendet oder Teil einer Failovergruppe in Hyperscale ist, beginnen Sie mit der Konvertierung des primären Replikats. Das geo-sekundäre Replikat wird automatisch konvertiert. Sie können eine georeplizierte Nicht-Hyperscale-Datenbank mithilfe von T-SQL, REST-API, PowerShell oder Azure CLI in Hyperscale konvertieren.

  • Direkte Konvertierung von der Standarddienstebene in Hyperscale wird nicht unterstützt. Um diese Konvertierung auszuführen, ändern Sie zuerst die Datenbank in eine andere Dienstebene als "Einfach" (z. B. "Allgemein"), und fahren Sie dann mit der Konvertierung in Hyperscale fort.

  • Direktes Verschieben einer Datenbank von einem zonenredundanten elastischen Pool zu einem nicht zonenredundanten Hyperscale-Pool wird nicht unterstützt. Um diesen Übergang abzuschließen, entfernen Sie zuerst die Datenbank aus dem elastischen Pool, und konvertieren Sie sie in eine eigenständige Datenbank. Deaktivieren Sie als Nächstes zonenredundanz für die Datenbank. Sobald diese Schritte abgeschlossen sind, kann die Datenbank einem neuen oder vorhandenen nicht zonenredundanten Hyperscale-Pool hinzugefügt werden.

  • Sie können den Fortschritt der Konvertierung mit T-SQL überwachen. Um T-SQL-Befehle in Ihrer Azure SQL-Datenbank auszuführen, verwenden Sie SQL Server Management Studio (SSMS),die MSSQL-Erweiterung für Visual Studio Code, sqlcmd oder Ihr bevorzugtes T-SQL-Abfragetool.

Konvertierung einer Datenbank mit Georeplikaten

Wenn Sie eine Datenbank in einer Georeplikationsbeziehung konvertieren, behält der Konvertierungsprozess die Georeplikationsverknüpfung bei. Sowohl die primäre als auch die geo-sekundäre Datenbank werden zusammen in Hyperscale konvertiert.

  • Sie müssen mit der Konvertierung in Hyperscale beginnen, indem Sie das primäre Georeplikat konvertieren. Beim Versuch, ein geo-sekundäres Replikat zu konvertieren, tritt ein Fehler auf: Ein geo-sekundäres Replikat "Datenbankname-Platzhalter" kann nicht in Hyperscale konvertiert werden. Um sowohl die primären als auch die geo-sekundären Replikate in Hyperscale zu konvertieren, wiederholen Sie den Vorgang für das primäre Replikat.
  • Verringern Sie die Anzahl der geosekundären Replikate auf ein Replikat, um den Konvertierungsprozess zu starten.
  • Das Erstellen des Georeplikats eines Georeplikats (auch bekannt als „Verkettung von Georeplikaten“) wird in Hyperscale nicht unterstützt. Wenn eine verkettete Georeplikationskonfiguration vorhanden ist, entfernen Sie sie, bevor Sie die Konvertierung in Hyperscale starten.
  • Ein geplantes Failover ist nicht möglich, während die Konvertierung der geo-primären Datenbank in Hyperscale ausgeführt wird. Ein erzwungenes Umschalten zu einem geosekundären Replikat ist möglich. Je nach Status der Konvertierung zum Zeitpunkt des erzwungenen Failovers kann der neue Primärserver der Georeplikation nach dem Failover jedoch entweder die Hyperscale-Dienstebene oder seine ursprüngliche Dienstebene verwenden.
  • Wenn sich eine geo-primäre Datenbank in einem elastischen Pool befindet, können Sie sie als Teil der Konvertierung in einen vorhandenen elastischen Hyperscale-Pool verschieben oder als eigenständige Hyperscale-Datenbank festlegen. Wenn sich eine geo-sekundäre Datenbank jedoch in einem elastischen Pool befindet, entfernt die Umstellung auf Hyperscale sie immer aus dem Pool. Sie können die geo-sekundäre Datenbank in einen hyperskalenlastischen Pool in einem separaten Schritt verschieben, sobald die Konvertierung abgeschlossen ist.

Cutover

Der Konvertierungsprozess umfasst zwei Phasen: Konvertierung, während die Datenbank online ist, und anschließend die Umschaltung auf die neue Hyperscale-Datenbank.

  • Die Zeit zum Verschieben einer vorhandenen Datenbank zu Hyperscale umfasst die Zeit zum Kopieren der Daten und die Zeit zum Wiedergeben der Änderungen, die beim Kopieren von Daten in der Quelldatenbank vorgenommen wurden. Während die Datenkopiezeit ungefähr mit der Größe der Datenbank skaliert wird, kann die tatsächliche Kopiergeschwindigkeit aufgrund von Faktoren wie Netzwerkdurchsatz, E/A-Bandbreite, Speicherlatenz und vorübergehender Dienstlast variieren. Es wird empfohlen, während eines niedrigeren Schreibaktivitätszeitraums in Hyperscale zu konvertieren, sodass die Zeit für die Wiedergabe akkumulierter Änderungen kürzer ist. Es wird empfohlen, den nächsten Schritt manuell zu steuern.

  • Sie haben die Möglichkeit, auszuwählen, wann die Übernahme erfolgt – sobald die Datenbank bereit ist oder manuell zu einem Zeitpunkt Ihrer Wahl. Standardmäßig wird der Prozess zum Konvertieren in Hyperscale automatisch überschnitten.

    • Wenn Sie die Umstellung manuell zu einem Zeitpunkt Ihrer Wahl durchführen möchten, haben Sie ab dem Zeitpunkt, an dem die Datenbank für die Umstellung bereit ist, 24 Stunden Zeit, um die manuelle Umstellung einzuleiten. Sie können eine manuelle Übernahme über das Azure-Portal, die Azure-Befehlszeilenschnittstelle, PowerShell oder T-SQL initiieren.
  • Während sich die Datenbank im Zustand "Ready-for-cutover" befindet, kopiert und wiedergegeben das System weiterhin die in der Quelldatenbank vorgenommenen Änderungen, wechselt jedoch von asynchroner zu synchroner Kopie. Diese synchrone Kopie kann die Schreiblatenz bei schreibintensiven Workloads erhöhen, bis die Umschaltung erfolgt.

  • Während des letzten Übernahmevorgangs auf Hyperscale erleben Ihre Anwendungen nur einen kurzen Zeitraum von Ausfallzeiten, in der Regel weniger als eine Minute.

Sie können mehrere Phasen im Konvertierungsprozess im Azure-Portal (auf der Statusberichtsseite), über Azure CLI (az sql db op list), PowerShell (Get-AzSqlDatabaseActivity) oder mithilfe von T-SQL (sys.dm_operation_status) überwachen.

Wenn Sie eine Datenbank aus den Dienstebenen Premium oder Business Critical in Hyperscale konvertieren, trennt der Prozess vorhandene Clientverbindungen in Phase 1. Diese Trennung ähnelt der Trennung, die beim Skalieren der Datenbank zwischen Dienstebenen auftritt. Anwendungen sollten so konzipiert sein, dass vorübergehende Verbindungsunterbrechungen ordnungsgemäß verarbeitet werden, indem sie Wiederholungslogik implementieren, wie in der Retry-Logik für vorübergehende Fehler beschrieben.

Konvertieren einer Datenbank in Hyperscale

Um eine vorhandene Azure SQL-Datenbank in Hyperscale zu konvertieren, identifizieren Sie zuerst Ihr Zieldienstziel.

Überprüfen Sie ressourcenlimits für einzelne Datenbanken , wenn Sie nicht sicher sind, welches Dienstziel für Ihre Datenbank geeignet ist. In vielen Fällen können Sie ein Dienstziel mit derselben Anzahl von virtuellen Kernen und derselben Hardwaregeneration wie die ursprüngliche Datenbank auswählen. Bei Bedarf können Sie das Dienstziel später mit minimalen Ausfallzeiten ändern. Die Abrechnung für Hyperscale beginnt erst nach dem Cutover.

Wählen Sie die Registerkarte für Ihre bevorzugte Methode aus, um Ihre Datenbank zu konvertieren:

Mit dem Azure-Portal können Sie in Hyperscale konvertieren, indem Sie die Dienstebene für Ihre Datenbank ändern.

Screenshot des Compute- und Speicherbereichs einer Datenbank in Azure SQL-Datenbank. Das Dropdown-Menü für die Dienstebene ist erweitert, und die Option für die Hyperscale-Dienstebene wird angezeigt.

  1. Wechseln Sie zur Datenbank, die Sie im Azure Portal konvertieren möchten.
  2. Wählen Sie in der linken Navigationsleiste Compute und Speicher aus.
  3. Wählen Sie die Dropdownliste der Dienstebene aus , um die Optionen für Dienstebenen zu erweitern.
    1. Wenn Sie das kostenlose Angebot der Azure SQL-Datenbank verwendet haben, wählen Sie die Schaltfläche aus, um das Kostenlose Datenbankangebot zu entfernen. Dann wird die Dropdownliste der Dienstebene angezeigt.
  4. Wählen Sie Hyperscale aus der Dropdownliste aus.
  5. Überprüfen Sie die Computeebene , und wählen Sie "Bereitgestellt " oder "Serverlos" aus.
  6. Überprüfen Sie den Cutover-Modus, eine für die Konvertierung zu Hyperscale spezifische Auswahl.
    • Die Umstellung erfolgt, nachdem die Datenbank explizit für die Konvertierung in Hyperscale vorbereitet wurde. Der Umschaltmodus bestimmt, wann die Konnektivität zur vorhandenen Azure SQL-Datenbank für die Konvertierung in Hyperscale kurzzeitig unterbrochen wird:
      • Automatischer Cutover führt den Cutover aus, sobald die Hyperscale-Datenbank bereit ist.
      • Manuelle Umschaltung ermöglicht es Ihnen, die Umschaltung zu einem Zeitpunkt Ihrer Wahl im Azure-Portal zu initiieren. Diese Option ist am nützlichsten, um den Wechsel so zu planen, dass es nur zu minimalen Geschäftsunterbrechungen kommt.
  7. Überprüfen Sie die aufgeführte Hardwarekonfiguration . Wählen Sie bei Bedarf die Option "Konfiguration ändern" aus, um die entsprechende Hardwarekonfiguration für Ihre Workload auszuwählen.
  8. Wählen Sie den vCores-Schieberegler aus, wenn Sie die Anzahl der für Ihre Datenbank verfügbaren vCores unter der Hyperscale-Dienstebene ändern möchten.
  9. Wählen Sie den Schieberegler Sekundäre Replikate für Hochverfügbarkeit aus, wenn Sie die Anzahl der Replikate in der Hyperscale-Dienstebene ändern möchten.
  10. Wählen Sie Anwenden.
  11. Überwachen Sie die Konvertierung im Azure-Portal.
    1. Wechseln Sie zur Datenbank im Azure-Portal.
    2. Wählen Sie in der linken Navigationsleiste die Option "Übersicht" aus.
    3. Überprüfen Sie den Abschnitt "Benachrichtigungen" unten im rechten Bereich. Wenn aktuell Vorgänge ausgeführt werden, wird ein Benachrichtigungsfeld angezeigt.
    4. Wählen Sie das Benachrichtigungsfeld aus, um Details anzuzeigen.
    5. Der Bereich "Laufende Vorgänge " wird geöffnet. Überprüfen Sie die Details der laufenden Vorgänge.

Wenn Sie den manuellen Cutovermodus ausgewählt haben, zeigt Ihnen das Azure-Portal die Schaltfläche Cutover an, sobald der Vorgang bereitsteht.

Screenshot des Azure-Portals mit der Schaltfläche „Cutover“ in einer Hyperscalekonvertierung.