Verwenden der Azure SQL-Migrationserweiterung zum Migrieren zu Azure SQL-Datenbank

Abgeschlossen

Wenn Sie es sich leisten können, die Datenbank während der Migration zu Azure offline zu schalten, stehen Ihnen verschiedene Tools zur Verfügung, die Sie verwenden können.

Bei unserem Szenario des Fahrradherstellers gilt die Datenbank der Personalabteilung als unternehmenskritisch, sie wird aber an Wochenenden nur selten genutzt. Sie haben eine Offlinemigration zwischen Freitagabend und Montagmorgen geplant, möchten aber erst noch die beste Migrationsmethode ermitteln.

Es wird vorausgesetzt, dass alle Überprüfungen vor der Migration mit der Azure SQL-Migrationserweiterung für Azure Data Studio oder mit Azure Migrate durchgeführt wurden. Dieser Prozess stellt sicher, dass Feature- und Kompatibilitätsprobleme behoben werden.

Migrieren mit der Azure SQL-Migrationserweiterung für Azure Data Studio

Die Azure SQL-Migrationserweiterung für Azure Data Studio ist ein Tool, mit dem Sie die Migration Ihrer SQL Server-Datenbanken zu Azure vorbereiten können. Sie bewertet Ihre Bereitschaft für die Migration, empfiehlt die besten Azure-Ressourcen für Ihre Anforderungen und erleichtert den Migrationsprozess. Es wird empfohlen, die Erweiterung für kleine bis mittelgroße Datenbanken zu verwenden.

Screenshot: Architektur der Azure SQL-Migrationserweiterung für Azure Data Studio.

Die Azure SQL-Migrationserweiterung verwendet die aktuelle Version von Data Migration Services und enthält ein Feature für die erweiterte Bewertung, mit dem ermittelt werden kann, ob Ihre SQL Server-Datenbanken für die Migration zu Azure SQL bereit sind.

Darüber hinaus können Sie mithilfe der Azure SQL-Migrationserweiterung mehrere SQL Server-Datenbanken kostenlos migrieren.

In den folgenden Schritten steht der Prozess der Migration zu Azure SQL-Datenbank mithilfe der Azure SQL-Migrationserweiterung für Azure Data Studio im Mittelpunkt.

Schritt Beschreibung
Einrichtung Installieren Sie Azure Data Studio und die Azure SQL-Migrationserweiterung. Öffnen Sie Azure Data Studio, und starten Sie den Migrations-Assistenten „Migrieren zu Azure SQL“. Dieser Assistent führt Sie durch den Migrationsprozess.
Schritt 1: Datenbanken für die Bewertung Wählen Sie die Datenbanken aus, die Sie migrieren möchten.
Schritt 2: Bewertungsergebnisse und Empfehlungen Bewerten Sie die Bereitschaft für die Migration. Das Tool identifiziert potenzielle Probleme, die sich auf den Migrationsprozess auswirken können. Erfassen Sie Leistungsdaten aus Ihrer aktuellen Datenbank. Diese Daten werden verwendet, um Empfehlungen für Ihr Azure SQL-Setup bereitzustellen.
Schritt 3: Azure-Ziel Wählen Sie ein Azure-Konto und Ihre Azure SQL-Zieldatenbank aus.
Schritt 4: Azure Database Migration Service Wählen Sie eine vorhandene Azure Database Migration Service-Instanz aus, oder erstellen Sie eine neue Instanz.
Schritt 5: Konfiguration der Datenquelle Geben Sie die Anmeldeinformationen ein, die zum Herstellen einer Verbindung zwischen der Quelle und der selbstgehosteten Integration Runtime verwendet werden. Wählen Sie die Tabellen aus, die von der Quelle zum Ziel migriert werden sollen. Stellen Sie vor dem Auswählen der zu migrierenden Tabellen sicher, dass Sie das Datenbankschema für die Übertragung von der Quelle zum Ziel mit der DACPAC-Erweiterung, der Erweiterung für SQL-Datenbankprojekte in Azure Data Studio oder dem Datenmigrations-Assistenten erstellt haben.
Schritt 6: Zusammenfassung Überprüfen Sie die Migrationsinformationen, und starten Sie den Migrationsprozess.

Database Migration Service optimiert den Migrationsprozess, indem leere Tabellen übersprungen werden, auch wenn Sie diese auswählen.

Wichtig

Derzeit unterstützt Azure SQL-Datenbank nicht die Migration von Tabellennamen, die Doppelbytezeichen enthalten. Als Problemumgehung können Sie diese Tabellen vor der Migration vorübergehend umbenennen und nach Abschluss der Migration den ursprünglichen Namen wiederherstellen.

Migrationsstatus

Es gibt einige Status, die Sie über den Fortschritt der Migration auf dem Laufenden halten.

  • Vorbereitung auf den Kopiervorgang: Der Dienst deaktiviert automatische Statistiken, Trigger und Indizes in der Zieltabelle.

  • Kopieren: Die Daten werden aus der Quelldatenbank in die Zieldatenbank kopiert.

  • Kopiervorgang abgeschlossen: Das Kopieren der Daten ist abgeschlossen, und der Dienst wartet auf andere Tabellen, um den Kopiervorgang abzuschließen.

  • Neuerstellen von Indizes: Der Dienst erstellt Indizes für die Zieltabellen neu.

  • Erfolgreich: Alle Daten wurden kopiert, und die Indizes wurden neu erstellt.

Überlegungen zur Leistung

Die Migrationsgeschwindigkeit hängt in hohem Maße von der Azure SQL-Datenbank-Ziel-SKU und dem Host der selbstgehosteten Integration Runtime ab. Für eine optimale Migrationserfahrung wird dringend empfohlen, dass Sie Ihre Azure SQL-Datenbank-Computeressourcen hochskalieren, bevor Sie den Migrationsprozess initiieren.

Wenn Sie sich dafür entscheiden, dass der Server die selbstgehostete Integration Runtime installiert, müssen Sie sicherstellen, dass dieser Computer die CPU- und Arbeitsspeicherauslastung des Datenkopiervorgangs unterstützen kann.

Die Azure SQL-Datenbankmigration kann bei einer großen Anzahl von Tabellen aufgrund der Zeit, die Azure Data Factory (ADF) zum Starten von Aktivitäten benötigt, auch bei kleinen Tabellen viel Zeit in Anspruch nehmen.

Bei der Migration von Tabellen mit großen Blobspalten kann aufgrund eines Timeouts ein Fehler auftreten.

Wir empfehlen, maximal zehn gleichzeitige Datenbankmigrationen pro selbstgehostete Integration Runtime auf einem einzelnen Computer durchzuführen. Skalieren Sie die selbstgehostete Runtime horizontal, oder erstellen Sie separate Instanzen auf verschiedenen Computern, um die Anzahl gleichzeitiger Datenbankmigrationen zu erhöhen.

Überwachen der Migration

Nachdem Sie die Datenbankmigration gestartet haben, können Sie den Fortschritt in Azure Data Studio überwachen. Sie können den Fortschritt auch im Azure-Portal unter der Azure Database Migration Service-Ressource nachverfolgen.

Überwachen der Migration in Azure Data Studio

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.

  1. Wählen Sie im Migrationsdashboard Datenbankmigrationen werden ausgeführt aus, um laufende Migrationen anzuzeigen.

    Screenshot: Migrationsdashboard in der Azure-Migrationserweiterung für Azure Data Studio.

  2. Wählen Sie den Datenbanknamen aus, um weitere Details zu erhalten.

    Screenshot: Migrationsdetails in der Azure-Migrationserweiterung für Azure Data Studio.

  3. Die Eigenschaft Migrationsstatus ändert sich in Wird abgeschlossen und nach Abschluss der Migration in Erfolgreich.

    Screenshot: Migrationsdetails in der Azure-Migrationserweiterung für Azure Data Studio für eine abgeschlossene Migration.

Überwachen der Migration im Azure-Portal

Alternativ können Sie die Migrationsaktivität mithilfe von Azure Database Migration Service überwachen.

Um Ihre Datenbankmigration zu überwachen, wechseln Sie normalerweise zum Azure-Portal und suchen nach Ihrer Instanz von Database Migration Service. Nachdem Sie den Dienst gefunden haben, können Sie die zugehörige Instanzübersicht anzeigen. Wählen Sie Migrationen überwachen aus, um auf detaillierte Informationen zur laufenden Datenbankmigration zuzugreifen.

Screenshot: Überwachungsseite in Azure Database Migration Service im Azure-Portal.

Nachdem der Migrationsstatus Erfolgreich angezeigt wird, navigieren Sie zum Zielserver, und überprüfen Sie die Zieldatenbank. Überprüfen Sie das Datenbankschema und die Daten.

Migration in großem Umfang

Sie können auch eine Offlinemigration der Datenbank von einer lokalen SQL Server-Instanz zu Azure SQL-Datenbank durchführen, indem Sie PowerShell oder die Azure CLI verwenden.

Im folgenden Beispiel wird die AdventureWorks-Datenbank zu Azure SQL-Datenbank migriert.


$sourcePass = ConvertTo-SecureString "password" -AsPlainText -Force
$targetPass = ConvertTo-SecureString "password" -AsPlainText -Force

New-AzDataMigrationToSqlDb `
-ResourceGroupName MyGroup `
-SqlDbInstanceName myserver `
-Kind "SqlDb" `
-TargetDbName AdventureWorks `
-SourceDatabaseName AdventureWorks `
-SourceSqlConnectionAuthentication SQLAuthentication `
-SourceSqlConnectionDataSource myserver.microsoft.com `
-SourceSqlConnectionUserName user `
-SourceSqlConnectionPassword $sourcePass `
-Scope "/subscriptions/MySubscriptionID/resourceGroups/MyGroup/providers/Microsoft.Sql/servers/myserver" `
-TargetSqlConnectionAuthentication SQLAuthentication `
-TargetSqlConnectionDataSource myserver.database.windows.net `
-TargetSqlConnectionUserName user `
-TargetSqlConnectionPassword $targetPass `
-MigrationService "/subscriptions/MySubscriptionID/resourceGroups/MyGroup/providers/Microsoft.DataMigration/SqlMigrationServices/MyService"

Im folgenden Beispiel wird eine Teilmenge der Tabellen aus der AdventureWorks-Datenbank migriert.


New-AzDataMigrationToSqlDb `
-ResourceGroupName MyGroup `
-SqlDbInstanceName myserver `
-Kind "SqlDb" `
-TargetDbName AdventureWorks `
-SourceDatabaseName AdventureWorks `
-SourceSqlConnectionAuthentication SQLAuthentication `
-SourceSqlConnectionDataSource myserver.microsoft.com `
-SourceSqlConnectionUserName user `
-SourceSqlConnectionPassword $sourcePass `
-Scope "/subscriptions/MySubscriptionID/resourceGroups/MyGroup/providers/Microsoft.Sql/servers/myserver" `
-TargetSqlConnectionAuthentication SQLAuthentication `
-TargetSqlConnectionDataSource myserver.database.windows.net `
-TargetSqlConnectionUserName user `
-TargetSqlConnectionPassword $targetPass `
-TableList "[Person].[Person]", "[Person].[EmailAddress]" `
-MigrationService "/subscriptions/MySubscriptionID/resourceGroups/MyGroup/providers/Microsoft.DataMigration/SqlMigrationServices/MyService"

Weitere Informationen zu den verfügbaren PowerShell- und Azure CLI-Befehlen der Azure-Migrationserweiterung finden Sie unter den folgenden Links: PowerShell-Modul für die Datenmigrationserweiterung und Azure CLI für die Datenmigrationserweiterung.