Tutorial: Migration von SQL Server zu Azure SQL-Datenbank (offline)

Sie können Azure Database Migration Service und die Azure SQL Migration-Erweiterung für Azure Data Studio verwenden, um Datenbanken offline und mit minimaler Ausfallzeit von einer lokalen Instanz von SQL Server zu Azure SQL-Datenbank zu migrieren.

In diesem Tutorial erfahren Sie, wie Sie die Beispieldatenbank AdventureWorks2022 von einer lokalen Instanz von SQL Server zu einer Instanz von Azure SQL Database mithilfe des Datenbankmigrationsdiensts migrieren. In diesem Tutorial wird der Offlinemigrationsmodus verwendet, durch den eine akzeptable Downtime während des Migrationsprozesses erzielt werden kann.

In diesem Tutorial lernen Sie Folgendes:

  • Öffnen des Assistenten zum Migrieren zu Azure SQL in Azure Data Studio
  • Ausführen einer Bewertung Ihrer SQL Server-Quelldatenbanken
  • Sammeln von Leistungsdaten aus Ihrer SQL Server-Quellinstanz
  • Abrufen einer Empfehlung der Azure SQL-Datenbank-SKU, die für Ihre Workload optimal geeignet ist
  • Erstellen einer Instanz von Azure Database Migration Service
  • Starten Ihrer Migration und Nachverfolgen des Fortschritts bis zum Abschluss

Tipp

In Azure Database Migration Service können Sie Ihre Datenbanken offline oder online migrieren. Bei einer Offlinemigration beginnt die Ausfallzeit der Anwendung mit dem Start der Migration. Um die Ausfallzeit auf die Zeit zu begrenzen, die für das Cutover zur neuen Umgebung nach der Migration erforderlich ist, führen Sie eine Onlinemigration durch. Wir empfehlen, dass Sie eine Offlinemigration testen, um zu bestimmen, ob die Ausfallzeit akzeptabel ist. Wenn die erwartete Ausfallzeit nicht akzeptabel ist, führen Sie eine Onlinemigration durch.

Wichtig

Aktuell sind keine Onlinemigrationen für Azure SQL-Datenbank-Ziele verfügbar.

Migrationsoptionen

Im folgenden Abschnitt wird beschrieben, wie Sie den Azure-Datenbankmigrationsdienst mit der Azure SQL-Migrationserweiterung oder im Azure-Portal verwenden.

Voraussetzungen

Vorbereitungsmaßnahmen vor dem Ausführen des Tutorials:

  • Herunterladen und Installieren von Azure Data Studio.

  • Installieren der Azure SQL-Migrationserweiterung aus Azure Data Studio Marketplace.

  • Verwenden Sie ein Azure-Konto, das einer der folgenden integrierten Rollen zugewiesen ist:

    • „Mitwirkender“ für die Zielinstanz von Azure SQL-Datenbank
    • Leserrolle für die Azure-Ressourcengruppe, die die Zielinstanz von Azure SQL-Datenbank enthält
    • Rolle „Besitzer“ oder „Mitwirkender“ für das Azure-Abonnement (erforderlich, wenn Sie eine neue Instanz von Azure Database Migration Service erstellen)

    Alternativ zur Verwendung einer dieser integrierten Rollen können Sie eine benutzerdefinierte Rolle zuweisen.

    Wichtig

    Ein Azure-Konto ist nur erforderlich, wenn Sie die Migrationsschritte konfigurieren. Ein Azure-Konto ist für die Bewertung oder zum Anzeigen von Azure-Empfehlungen im Migrations-Assistenten in Azure Data Studio nicht erforderlich.

  • Erstellen Sie eine verwaltete Instanz vonAzure SQL-Datenbank.

  • Vergewissern Sie sich, dass die SQL Server-Anmeldung, die eine Verbindung mit der SQL Server-Quellinstanz herstellt, Mitglied der Rolle „db_datareader“ ist, und dass der Anmeldename für die SQL Server-Zielinstanz ein Mitglied der Rolle „db_owner“ ist.

  • Zum Migrieren des Datenbankschemas von der Quell- zur Zieldatenbank in Azure SQL über den Database Migration Service wird mindestens die SHIR-Version 5.37 oder höher unterstützt.

  • Wenn Sie Database Migration Service zum ersten Mal verwenden, vergewissern Sie sich, dass der Microsoft.DataMigration-Ressourcenanbieter in Ihrem Abonnement registriert ist.

Hinweis

Jetzt können Sie sowohl das Datenbankschema als auch die Daten über den Database Migration Service migrieren. Sie können auch Tools wie die dacpac-Erweiterung von SQL Server oder die SQL-Datenbankprojekterweiterung in Azure Data Studio zum Migrieren des Schemas verwenden, bevor Sie die Liste der Tabellen zum Migrieren auswählen.

Wenn im Azure SQL-Datenbankziel keine Tabelle vorhanden ist oder vor dem Starten der Migration keine Tabellen ausgewählt werden, ist die Schaltfläche Weiter nicht verfügbar, um die Migrationsaufgabe zu initiieren. Wenn keine Tabelle für das Ziel vorhanden ist, müssen Sie für die weitere Vorgehensweise die Schemamigrationsoption auswählen.

Öffnen des Assistenten zum Migrieren zu Azure SQL in Azure Data Studio

So öffnen Sie den Assistenten zum Migrieren zu Azure SQL:

  1. Navigieren Sie in Azure Data Studio zu Verbindungen. Wählen Ihre lokale Instanz von SQL Server aus, und stellen Sie eine Verbindung mit ihr her. Sie können auch eine Verbindung mit SQL Server auf einem virtuellen Azure-Computer herstellen.

  2. Klicken Sie mit der rechten Maustaste auf die Serververbindung, und wählen Sie Verwalten aus.

    Screenshot: Serververbindung und Option „Verwalten“ in Azure Data Studio.

  3. Wählen Sie im Servermenü unter Allgemein die Option Azure SQL Migration aus.

    Der Screenshot zeigt das Servermenü von Azure Data Studio.

  4. Wählen Sie im Azure SQL Migration-Dashboard die Option Zu Azure SQL migrieren aus, um den Migrations-Assistenten zu öffnen.

    Screenshot: Assistent zum Migrieren zu Azure SQL.

  5. Starten Sie auf der ersten Seite des Assistenten eine neue Sitzung, oder setzen Sie eine zuvor gespeicherte Sitzung fort.

Ausführen der Datenbankbewertung, Sammeln von Leistungsdaten und Abrufen von Azure-Empfehlungen

  1. Wählen Sie unter Schritt 1: Datenbanken für die Bewertung im Assistenten zum Migrieren zu Azure SQL die Datenbanken aus, die Sie bewerten möchten. Klicken Sie anschließend auf Weiter.

    Screenshot: Auswählen einer Datenbank für die Bewertung.

  2. Führen Sie in Schritt 2: Bewertungsergebnisse und Empfehlungen die folgenden Schritte aus:

    1. Wählen Sie unter Azure SQL Ziel auswählen die Option Azure SQL-Datenbank aus.

      Screenshot: Auswählen des Azure SQL-Datenbankziels.

    2. Wählen Sie Anzeigen/Auswählen aus, um die Bewertungsergebnisse anzuzeigen.

      Screenshot der Bewertungsergebnisse unter Anzeigen/Auswählen.

    3. Wählen Sie in den Bewertungsergebnissen die Datenbank aus, und überprüfen Sie dann den Bewertungsbericht, um sicherzugehen, dass keine Probleme gefunden wurden.

      Screenshot mit dem Bewertungsbericht.

    4. Wählen Sie Azure-Empfehlung abrufen aus, um den Empfehlungsbereich zu öffnen.

      Screenshot mit Azure-Empfehlungen.

    5. Wählen Sie Jetzt Leistungsdaten sammeln aus. Wählen Sie einen Ordner auf Ihrem lokalen Computer aus, um die Leistungsprotokolle zu speichern, und wählen Sie dann Start aus.

      Screenshot: Sammlung von Leistungsdaten.

      Azure Data Studio sammelt Leistungsdaten, bis Sie entweder die Datenerfassung beenden oder Azure Data Studio schließen.

      Nach 10 Minuten gibt Azure Data Studio an, dass eine Empfehlung für Azure SQL-Datenbank verfügbar ist. Nachdem die erste Empfehlung generiert wurde, können Sie Datensammlung neu starten auswählen, um den Datenerfassungsprozess fortzusetzen und die SKU-Empfehlung zu präzisieren. Eine erweiterte Bewertung ist insbesondere dann nützlich, wenn Ihre Nutzungsmuster im Lauf der Zeit variieren.

      Screenshot: Gesammelte Leistungsdaten.

    6. Wählen Sie im ausgewählten Azure SQL Database-Ziel Details anzeigen aus, um den detaillierten SKU-Empfehlungsbericht zu öffnen:

      Screenshot: Link „Details anzeigen“ für die Empfehlungen zur Zieldatenbank.

    7. Überprüfen Sie unter Azure SQL-Datenbankempfehlungen überprüfen die Empfehlung. Wenn Sie eine Kopie der Empfehlung speichern möchten, wählen Sie Empfehlungsbericht speichern aus.

      Screenshot: Details zur SKU-Empfehlung.

  3. Wählen Sie Schließen aus, um den Empfehlungsbereich zu schließen.

  4. Wählen Sie Weiter aus, um Ihre Datenbankmigration im Assistenten fortzusetzen.

Konfigurieren von Migrationseinstellungen

  1. Führen Sie in Schritt 3: Azure SQL-Ziel im Assistenten zum Migrieren zu Azure SQL die folgenden Schritte für Ihre Azure SQL-Datenbank-Zielinstanz aus:

    1. Wählen Sie Ihr Azure-Konto, Ihr Azure-Abonnement, die Azure-Region oder den Speicherort und die Ressourcengruppe aus, die die Azure SQL-Datenbankbereitstellung enthält.

      Screenshot: Azure-Kontodetails.

    2. Wählen Sie für Azure SQL-Datenbank-Server den Azure SQL Datenbank-Zielserver (logischer Server) aus. Geben Sie einen Benutzernamen und ein Kennwort für die Bereitstellung der Zieldatenbank ein. Wählen Sie dann Verbinden aus. Geben Sie die Anmeldeinformationen ein, um die Konnektivität mit der Zieldatenbank zu überprüfen.

      Screenshot, der Details zur Azure SQL-Datenbank zeigt.

    3. Ordnen Sie als Nächstes die Quelldatenbank und die Zieldatenbank für die Migration zu. Wählen Sie unter Zieldatenbank das Azure SQL-Datenbank-Ziel aus. Wählen Sie dann Weiter aus, um zum nächsten Schritt im Migrations-Assistenten zu wechseln.

      Screenshot der Quell- und Zielzuordnung.

  2. Wählen Sie in Schritt 4: Migrationsmodus die Option Offlinemigration und dann Weiter aus.

    Screenshot: Auswahl von Offlinemigrationen.

  3. Führen Sie in Schritt 5: Datenquellenkonfiguration die folgenden Schritte aus:

    1. Geben Sie unter Quellanmeldeinformationen die SQL Server-Anmeldeinformationen für die Quelle ein.

    2. Wählen Sie unter Tabellen auswählen das Stiftsymbol Bearbeiten aus.

      Screenshot der Anmeldeinformationen für den Quell-SQL Server.

    3. Wählen Sie unter Tabellen für <Datenbankname> auswählen die Tabellen aus, die zum Ziel migriert werden sollen. Beachten Sie, dass in der Spalte Has rows (Enthält Zeilen) angegeben wird, ob die Zieltabelle in der Zieldatenbank Zeilen enthält. Sie können eine oder mehrere Tabellen auswählen. Wählen Sie dann Aktualisieren aus.

      Sie können die Liste der ausgewählten Tabellen jederzeit aktualisieren, bevor Sie mit der Migration beginnen.

      Im folgenden Beispiel wird ein Textfilter angewendet, um nur die Tabellen auszuwählen, die das Wort Employee enthalten. Wählen Sie eine Liste mit Tabellen ausgehend von Ihren Migrationsanforderungen aus.

      Screenshot mit der Tabellenauswahl.

  4. Überprüfen Sie Ihre Tabellenauswahl, und wählen Sie dann Weiter aus, um zum nächsten Schritt im Migrations-Assistenten zu wechseln.

    Screenshot der zum Migrieren ausgewählten Tabellen.

Hinweis

Wenn keine Tabellen ausgewählt sind oder kein Benutzername und kein Kennwort eingegeben werden, kann die Schaltfläche Weiter nicht ausgewählt werden.

Jetzt können Sie sowohl das Datenbankschema als auch die Daten über den Database Migration Service migrieren. Sie können auch Tools wie die dacpac-Erweiterung von SQL Server oder die SQL-Datenbankprojekterweiterung in Azure Data Studio zum Migrieren des Schemas verwenden, bevor Sie die Liste der Tabellen zum Migrieren auswählen.

Erstellen einer Database Migration Service-Instanz

Erstellen Sie in Schritt 6: Azure Database Migration Service im Assistenten zum Migrieren zu Azure SQL eine neue Instanz von Azure Database Migration Service, oder verwenden Sie eine vorhandene Instanz, die Sie zuvor erstellt haben.

Hinweis

Wenn Sie zuvor mithilfe des Azure-Portals eine Database Migration Service-Instanz erstellt haben, können Sie die Instanz nicht im Migrations-Assistenten in Azure Data Studio wiederverwenden. Sie können eine Instanz nur dann wiederverwenden, wenn Sie sie mithilfe von Azure Data Studio erstellt haben.

Verwenden einer vorhandenen Instanz von Database Migration Service

So verwenden Sie eine vorhandene Instanz von Database Migration Service:

  1. Wählen Sie unter Ressourcengruppe die Ressourcengruppe aus, die eine vorhandene Instanz von Database Migration Service enthält.

  2. Wählen Sie in Azure Database Migration Service eine vorhandene Instanz von Database Migration Service aus, die sich in der ausgewählten Ressourcengruppe befindet.

  3. Wählen Sie Weiter aus.

    Screenshot zum Auswählen von Database Migration Service.

Erstellen einer neuen Instanz von Database Migration Service

So erstellen Sie eine neue Instanz von Database Migration Service:

  1. Erstellen Sie in Ressourcengruppe eine neue Ressourcengruppe zur Aufnahme einer neuen Instanz von Database Migration Service.

  2. Wählen Sie unter Azure Database Migration Service die Schaltfläche Erstellen aus.

  3. Geben Sie unter Azure Database Migration Service erstellen einen Namen für Ihre Database Migration Service-Instanz ein, und wählen Sie dann Erstellen aus.

  4. Führen Sie unter Integration Runtime einrichten die folgenden Schritte aus:

    1. Wählen Sie den Link Integration Runtime herunterladen und installieren aus, um den Downloadlink in einem Webbrowser zu öffnen. Laden Sie die Integration Runtime herunter, und installieren Sie sie dann auf einem Computer, der die Voraussetzungen für eine Verbindung mit der SQL Server-Quellinstanz erfüllt.

      Screenshot: Link „Integration Runtime herunterladen und installieren“.

      Nach Abschluss der Installation wird der Konfigurations-Manager für Microsoft Integration Runtime automatisch geöffnet, um den Registrierungsprozess zu starten.

    2. Kopieren Sie in der Tabelle Authentifizierungsschlüssel einen der im Assistenten bereitgestellten Authentifizierungsschlüssel, und fügen Sie ihn in Azure Data Studio ein.

      Screenshot: Hervorhebung der Authentifizierungsschlüsseltabelle im Assistenten.

      Wenn der Authentifizierungsschlüssel gültig ist, wird im Integration Runtime Configuration Manager ein grünes Häkchensymbol angezeigt. Ein grünes Häkchen zeigt an, dass Sie mit der Registrierung fortfahren können.

      Schließen Sie nach dem Registrieren der selbstgehosteten Integration Runtime den Konfigurations-Manager für Microsoft Integration Runtime.

      Hinweis

      Weitere Informationen zur selbstgehosteten Integration Runtime finden Sie unter Erstellen und Konfigurieren einer selbstgehosteten Integration Runtime.

  5. Wählen Sie unter Azure Database Migration Service erstellen in Azure Data Studio die Option Verbindung testen aus, um zu überprüfen, ob die neu erstellte Instanz von Database Migration Service mit der neu registrierten selbstgehosteten Integration Runtime verbunden ist.

    Screenshot zum IR-Konnektivitätstest.

  6. Kehren Sie zum Migrations-Assistenten in Azure Data Studio zurück.

Starten der Datenbankmigration

Überprüfen Sie in Schritt 7: Zusammenfassung im Assistenten zum Migrieren zu Azure SQL die von Ihnen erstellte Konfiguration, und wählen Sie dann Migration starten aus, um die Datenbankmigration zu starten.

Screenshot mit der Vorgehensweise zum Starten der Migration.

Überwachen der Datenbankmigration

  1. Wählen Sie in Azure Data Studio im Servermenü unter Allgemein die Option Azure SQL-Migration aus, um zum Dashboard für Ihre Azure SQL-Datenbankmigrationen zu wechseln.

    Unter Datenbankmigrationsstatus können Sie Migrationen nachverfolgen, die aktuell ausgeführt werden, abgeschlossen oder fehlgeschlagen sind (falls vorhanden), oder Sie können alle Datenbankmigrationen anzeigen.

    Screenshot: Dashboard für die Überwachung der Migration.

  2. Wählen Sie Datenbankmigrationen werden ausgeführt aus, um aktive Migrationen anzuzeigen.

    Wenn Sie weitere Informationen zu einer bestimmten Migration erhalten möchten, wählen Sie den Datenbanknamen aus.

    Screenshot: Datenbankmigrationsdetails.

    Database Migration Service gibt bei jeder Aktualisierung des Migrationsstatus den neuesten bekannten Migrationsstatus zurück. In der folgenden Tabelle werden die möglichen Status beschrieben:

    Status Beschreibung
    Vorbereiten für den Kopiervorgang Der Dienst deaktiviert Autostats, Trigger und Indizes in der Zieltabelle.
    Kopieren Daten werden aus der Quelldatenbank in die Zieldatenbank kopiert.
    Kopieren abgeschlossen Das Kopieren der Daten ist abgeschlossen. Der Dienst wartet darauf, dass andere Tabellen fertig kopiert sind, damit mit den abschließenden Schritten zum Wiederherstellen des ursprünglichen Schemas der Tabellen begonnen werden kann.
    Neuerstellen von Indizes Der Dienst erstellt Indizes für die Zieltabellen neu.
    Erfolgreich Alle Daten sind kopiert, und die Indizes wurden neu erstellt.
  3. Überprüfen Sie die Seite mit den Migrationsdetails, um den aktuellen Status für jede Datenbank anzuzeigen.

    Hier ist ein Beispiel für die AdventureWorks2022-Datenbankmigration mit dem Status Erstellen:

    Screenshot: Status „Wird erstellt“ der Migration.

  4. Wählen Sie in der Menüleiste Aktualisieren aus, um den Migrationsstatus zu aktualisieren.

    Nachdem der Migrationsstatus aktualisiert wurde, lautet der aktualisierte Status für die Migration der AdventureWorks2022-Beispieldatenbank In Bearbeitung:

    Screenshot, der den Status „In Bearbeitung“ für eine Migration zeigt.

  5. Wählen Sie einen Datenbanknamen aus, um die Tabellenansicht zu öffnen. In dieser Ansicht sehen Sie den aktuellen Status der Migration, die Anzahl der Tabellen, die sich derzeit in diesem Status befinden, und einen detaillierten Status der einzelnen Tabellen.

    Screenshot: Überwachen der Tabellenmigration.

    Nachdem alle Tabellendaten zum Azure SQL-Datenbank-Ziel migriert wurden, aktualisiert der Database Migration Service den Migrationsstatus von In Bearbeitung zu Erfolgreich.

    Screenshot: Erfolgreiche Migration.

Hinweis

Der Database Migration Service optimiert die Migration, indem er Tabellen ohne Daten (0 Zeilen) überspringt. Tabellen ohne Daten werden nicht in der Liste angezeigt, auch wenn Sie die Tabellen beim Erstellen der Migration auswählen.

Sie haben die Migration zu Azure SQL-Datenbank abgeschlossen. Es wird empfohlen, verschiedene Aufgaben nach der Migration auszuführen, um sicherzustellen, dass alles reibungslos und effizient funktioniert.

Wichtig

Sie sollten unbedingt die Vorteile der erweiterten cloudbasierten Features von Azure SQL-Datenbank nutzen. Zu den Features gehören integrierte Hochverfügbarkeit, Bedrohungserkennung sowie Überwachung und Optimierung Ihrer Workload.

Begrenzungen

Die Offlinemigration von Azure SQL-Datenbank nutzt ADF-Pipelines (Azure Data Factory) für die Datenverschiebung und ist daher an die ADF-Einschränkungen gebunden. Eine entsprechende ADF-Instanz wird erstellt, wenn auch ein Datenbankmigrationsdienst erstellt wird. Factory-Grenzwerte gelten daher pro Dienst.

  • Der Computer, auf dem der SHIR installiert ist, dient als Computeressource für die Migration. Stellen Sie sicher, dass der Computer die CPU- und Speicherlast der Datenkopie bewältigen kann. Weitere Informationen finden Sie unter Erstellen und Konfigurieren einer selbstgehosteten Integration Runtime.
  • Es gilt ein Limit von 100.000 Tabellen pro Datenbank.
  • Es gilt ein Limit von 10.000 gleichzeitigen Datenbankmigrationen pro Dienst.
  • Die Migrationsgeschwindigkeit hängt in hohem Maße von der Azure SQL-Datenbank-Ziel-SKU und dem Host der selbstgehosteten Integration Runtime ab.
  • Aufgrund des ADF-Mehraufwands bei Startaktivitäten lässt sich die Migration von Azure SQL-Datenbank mit Tabellennummern schlecht skalieren. Wenn eine Datenbank Tausende von Tabellen enthält, kann der Startprozess jeder dieser Tabellen ein paar Sekunden in Anspruch nehmen, auch wenn sie aus einer Zeile mit 1 Bit Daten bestehen.
  • Azure SQL-Datenbank-Tabellennamen mit Doppelbytezeichen werden derzeit nicht für die Migration unterstützt. Die Abhilfemaßnahme besteht darin, Tabellen vor der Migration umzubenennen. Nach erfolgreicher Migration können wieder die ursprünglichen Namen festgelegt werden.
  • Bei der Migration von Tabellen mit großen Blobspalten kann aufgrund eines Timeouts ein Fehler auftreten.
  • Datenbanknamen mit von SQL Server reservierten Wörtern werden derzeit nicht unterstützt.
  • Datenbanknamen, die Semikolons enthalten, werden derzeit nicht unterstützt.
  • Berechnete Spalten werden nicht migriert.