Freigeben über


SQL Server zu Azure SQL Managed Instance: Anleitung zur Migration

Gilt für: Azure SQL Managed Instance

In diesem Leitfaden erfahren mehr über die Vorgehensweise zum Migrieren Ihrer Benutzerdatenbank von SQL Server zu Azure SQL Managed Instance.

Führen Sie die Schritte zur Vorbereitung der Migration aus, bevor Sie fortfahren.

Migrieren

Nachdem Sie die Schritte der Prämigrationsphase abgeschlossen haben, können Sie sich der Schema- und Datenmigration widmen.

Migrieren Sie Ihre Daten mithilfe der gewählten Migrationsmethode.

Dieser Abschnitt enthält allgemeine Migrationsschritte für die folgenden empfohlenen Migrationsoptionen:

  • Link für verwaltete Instanz
  • Protokollwiedergabedienst (Log Replay Service, LRS)
  • Azure SQL-Migrationserweiterung für Azure Data Studio: Migration nahezu ohne Ausfallzeit.
  • Native RESTORE DATABASE FROM URL: nutzt native Sicherungen von SQL Server und ist mit einer gewissen Ausfallzeit verbunden

SQL Managed Instance zielt auf Benutzerszenarien ab, die eine Massenmigration der Datenbank von lokalen oder Azure VM-Datenbankimplementierungen erfordern. Diese sind die optimale Wahl, wenn es darum geht, das Back-End der Anwendungen, die regelmäßig Funktionalitäten auf Instanzebene und/oder über Datenbanken hinweg nutzen, per Lift & Shift zu migrieren. Wenn dies Ihr Szenario ist, können Sie eine ganze Instanz in eine entsprechende Umgebung in Azure verschieben, ohne dass Sie Ihre Anwendungen neu strukturieren müssen.

Zum Verschieben von SQL-Instanzen müssen Sie Folgendes sorgfältig planen:

  • Die Migration aller Datenbanken, die zusammengeführt werden müssen (diejenigen, die auf derselben Instanz ausgeführt werden).
  • Die Migration von Objekten auf Instanzebene, von denen Ihre Anwendung abhängt, wie Anmeldeinformationen, SQL-Agent-Aufträge und -Operatoren sowie Trigger auf Serverebene.

SQL Managed Instance ist ein verwalteter Dienst, der es Ihnen ermöglicht, einige der regulären DBA-Aktivitäten während deren Integration an die Plattform zu delegieren. Daher müssen einige Daten auf Instanzebene nicht migriert werden, z. B. Wartungsaufträge für regelmäßige Sicherungen oder Always On-Konfigurationen, da Hochverfügbarkeit integriert ist.

Azure Data Studio

Dieser Abschnitt enthält allgemeine Schritte zum Migrieren von SQL Server zu Azure SQL Managed Instance mit minimalen Ausfallzeiten mithilfe der Azure SQL-Migrationserweiterung in Azure Data Studio. Detaillierte Anweisungen finden Sie im Tutorial: Onlinemigration von SQL Server zu Azure SQL Managed Instance in Azure Data Studio.

Führen Sie für die Migration in Azure Data Studio folgende Schritte aus:

  1. Azure Data Studio und die Azure SQL-Migrationserweiterung in Azure Data Studio herunterladen und installieren.
  2. Den Migrations-Assistenten zum Migrieren zu Azure SQL in der Erweiterung in Azure Data Studio starten.
  3. Wählen Sie Datenbanken für die Bewertung aus, und zeigen Sie die Migrationsbereitschaft oder Probleme (falls vorhanden) an. Erfassen Sie außerdem Leistungsdaten, und erhalten Sie Azure-Empfehlungen für die richtige Größe.
  4. Wählen Sie Ihr Azure-Konto und Ihre Azure SQL Managed Instance-Zielinstanz aus Ihrem Abonnement aus.
  5. Wählen Sie den Speicherort Ihrer Datenbanksicherungen aus. Ihre Datenbanksicherungen können sich entweder in einer lokalen Netzwerkfreigabe oder in einem Azure Blob Storage-Container befinden.
  6. Erstellen Sie eine neue Azure Database Migration Service-Instanz mithilfe des Assistenten in Azure Data Studio. Wenn Sie zuvor eine Azure Database Migration Service-Instanz mit Azure Data Studio erstellt haben, können Sie diese wiederverwenden.
  7. Optional: Wenn sich Ihre Sicherungen in einer lokalen Netzwerkfreigabe befinden, laden Sie die selbstgehostete Integration Runtime auf einen Computer herunter, der eine Verbindung mit der SQL Server-Quellinstanz und dem Speicherort mit den Sicherungsdateien herstellen kann.
  8. Starten Sie die Datenbankmigration, und überwachen Sie den Fortschritt in Azure Data Studio. Sie können den Fortschritt auch unter der Azure Database Migration Service-Ressource im Azure-Portal überwachen.
  9. Schließen Sie die Übernahme ab.
    1. Beenden Sie alle eingehenden Transaktionen in der Quelldatenbank.
    2. Nehmen Sie Änderungen an der Anwendungskonfiguration vor, um auf die Zieldatenbank in Azure SQL Managed Instance zu verweisen.
    3. Nehmen Sie ggf. Sicherungen des Protokollfragments für die Quelldatenbank am angegebenen Sicherungsspeicherort vor.
    4. Stellen Sie sicher, dass alle Datenbanksicherungen auf der Seite mit den Überwachungsdetails den Status Wiederhergestellt aufweisen.
    5. Wählen Sie auf der Seite mit den Überwachungsdetails die Option Übernahme abschließen aus.

Dieser Abschnitt enthält allgemeine Schritte zum Migrieren von SQL Server zu Azure SQL Managed Instance mit minimalen Ausfallzeiten mithilfe des Links für verwaltete Instanz. Ausführliche Anweisungen finden Sie unter Migrieren mit dem Link.

Führen Sie zum Migrieren mit dem Link die folgenden Schritte aus:

  1. Erstellen Sie Ihre Ziel-SQL Managed Instance: Azure-Portal, PowerShell, Azure CLI.
  2. Bereiten Sie die Umgebung für den Link vor.
  3. Konfigurieren Sie den Link mit SSMS oder Skripten.
  4. Beenden Sie die Workload.
  5. Überprüfen Sie die Daten auf der Zielinstanz.
  6. Führen Sie ein Failover des Links aus.

Protokollwiedergabedienst (Log Replay Service, LRS)

Dieser Abschnitt enthält allgemeine Schritte zum Migrieren von SQL Server zu Azure SQL Managed Instance mit minimalen Ausfallzeiten mithilfe des Protokollwiedergabediensts (LRS). Ausführliche Anweisungen finden Sie unter Migrieren von Datenbanken von SQL Server mithilfe des Protokollwiedergabediensts.

Führen Sie zum Migrieren mit LRS die folgenden Schritte aus:

  1. Erstellen Sie ein Azure Storage-Konto mit einem Blobcontainer.
  2. Authentifizieren Sie sich mit einem SAS-Token oder einer verwalteten Identität bei Ihrem Blob Storage-Speicherkonto und überprüfen Sie den Zugriff.
  3. Achten Sie darauf, die Ordnerstruktur ordnungsgemäß zu konfigurieren, wenn Sie mehrere Datenbanken migrieren möchten.
  4. Laden Sie Ihre Sicherungen in Ihr Speicherkonto hoch, indem Sie entweder Ihre Sicherungen kopieren oder Sicherungen direkt mithilfe der SICHERUNG ÜBER URLs erstellen.
  5. Ermitteln Sie, ob LRS im AutoVervollständigen- oder kontinuierlichen Modus ausgeführt werden soll.
  6. Starten Sie LRS.
  7. Überwachen Sie den Fortschritt der Migration.
  8. Schließen Sie die Migration ab (bei kontinuierlichem Modus).

Sicherung und Wiederherstellung

Eine wichtigste Funktion von Azure SQL Managed Instance, die eine schnelle und einfache Datenbankmigration ermöglicht, besteht in der nativen Wiederherstellung der in Azure Storage gespeicherten Datenbanksicherungsdateien (.bak) in SQL Managed Instance. Das Sichern und Wiederherstellen sind asynchrone Vorgänge basierend auf der Größe Ihrer Datenbank.

Das folgende Diagramm bietet einen allgemeinen Überblick über den Prozess:

Im Diagramm weist ein Pfeil mit der Beschriftung „SICHERN/zu URL hochladen“ zu Azure Storage. Ein weiterer Pfeil mit der Beschriftung „RESTORE FROM URL“ weist von Azure Storage zu einer SQL Managed Instance.

Hinweis

Je nach Größe der Datenbank dauert es unterschiedlich lange, die Sicherung in Azure Storage hochzuladen und einen nativen Wiederherstellungsvorgang zu Azure SQL Managed Instance durchzuführen. Bei großen Datenbanken müssen Sie eine ausreichende Downtime einberechnen, um den Vorgang abzuschließen.

In der folgenden Tabelle finden Sie weitere Informationen über die Methoden, die Sie je nach Version der ausgeführten SQL Server-Quellinstanz verwenden können:

Schritt SQL-Engine und -Version Sicherungs- und Wiederherstellungsmethode
Sicherung auf Azure Storage legen Vor 2012 SP1 CU2 Direkter Upload der .bak-Datei in Azure Storage
2012 SP1 CU2 – 2016 Direkte Sicherung mit veralteter WITH CREDENTIAL-Syntax
2016 und höhere Versionen Direkte Sicherung mit WITH SAS CREDENTIAL
Wiederherstellung aus Azure Storage in eine verwaltete Instanz RESTORE FROM URL mit SAS CREDENTIAL

Wichtig

Beim Migrieren einer Datenbank, die durch Transparent Data Encryption geschützt ist, zu einer verwalteten Instanz mithilfe der nativen Wiederherstellungsoption muss das entsprechende Zertifikat von der lokalen oder der Azure VM-SQL Server-Instanz vor der Wiederherstellung der Datenbank migriert werden. Detaillierte Schritte finden Sie unter „Migrieren des Zertifikats einer durch TDE geschützten Datenbank zu einer Azure SQL Managed Instance

Das Wiederherstellen von Systemdatenbanken wird nicht unterstützt. Um (in master- oder msdb-Datenbanken gespeicherte) Objekte auf Instanzebene zu migrieren, wird empfohlen, für diese T-SQL-Skripts zu erstellen und in der Zielinstanz auszuführen.

Befolgen Sie diese Schritte, um die Migration mit dem Sicherungs- und Wiederherstellungsansatz durchzuführen:

  1. Sichern Sie Ihre Datenbank in Azure Blob Storage. Verwenden Sie beispielsweise die Option Backup to URL (Sicherung über URL) in SQL Server Management Studio. Verwenden Sie das entsprechende Microsoft Azure-Tool, wenn Datenbanken unterstützt werden müssen, die älter als SQL Server 2012 SP1 CU2 sind.

  2. Stellen Sie über SQL Server Management Studio eine Verbindung mit Ihrer Azure SQL Managed Instance-Instanz her.

  3. Erstellen Sie mithilfe einer SAS (Shared Access Signature) die Anmeldeinformationen für den Zugriff auf das Azure Blob Storage-Konto, das Ihre Datenbanksicherungen enthält. Zum Beispiel:

    CREATE CREDENTIAL [https://mitutorials.blob.core.windows.net/databases]
        WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
            SECRET = '<secret>'
    
  4. Stellen Sie die Sicherung aus dem Azure Blob Storage-Container wieder her. Zum Beispiel:

    RESTORE DATABASE [TargetDatabaseName]
    FROM URL = 'https://mitutorials.blob.core.windows.net/databases/WideWorldImporters-Standard.bak'
    
  5. Rufen Sie die Datenbank nach Abschluss der Wiederherstellung im Objekt-Explorer in SQL Server Management Studio auf.

Weitere Informationen zu dieser Migrationsoption finden Sie unter Schnellstart: Wiederherstellen einer Datenbank in Azure SQL Managed Instance mit SSMS.

Hinweis

Der Vorgang der Datenbankwiederherstellung ist asynchron und kann wiederholt werden. Möglicherweise erhalten Sie eine Fehlermeldung in SQL Server Management Studio, falls die Verbindung unterbrochen oder ein Timeout überschritten wird. Azure SQL-Datenbank versucht weiterhin, die Datenbank im Hintergrund wiederherzustellen, und Sie können den Wiederherstellungsfortschritt mithilfe der Ansichten sys.dm_exec_requests und sys.dm_operation_status verfolgen.

Datensynchronisierung und Übernahme

Wenn Migrationsoptionen angewendet werden, die Datenänderungen kontinuierlich von der Quelle zum Ziel replizieren und/oder synchronisieren, werden die Quelldaten und das Quellschema ggf. geändert und weichen vom Ziel ab. Sorgen Sie während der Datensynchronisierung dafür, dass alle Änderungen an der Quelle erfasst und während des Migrationsprozesses auf das Ziel angewendet werden.

Nachdem Sie sich vergewissert haben, dass die Daten in der Quelle und im Ziel identisch sind, können Sie die Übernahme von der Quell- zur Zielumgebung durchführen. Sie sollten den Übernahmeprozess mit den Geschäfts- und Anwendungsteams planen, um Unterbrechungen so geringfügig wie möglich zu halten und die Geschäftskontinuität nicht zu beeinträchtigen.

Wichtig

Weitere Informationen zu den Schritten für eine Übernahmemigration mithilfe von DMS finden Sie unter Durchführen der Migrationsübernahme.

Nach der Migration

Wenn Sie die Migrationsphase erfolgreich abgeschlossen haben, sind einige weitere Schritte erforderlich, um sicherzustellen, dass alles so reibungslos und effizient wie möglich funktioniert.

Die Phase nach der Migration ist entscheidend für den Abgleich von Problemen mit der Datengenauigkeit und der Überprüfung der Vollständigkeit sowie das Beheben von Leistungsproblemen mit der Workload.

Überwachen und Korrigieren von Anwendungen

Wenn Sie die Migration zu einer verwalteten Instanz abgeschlossen haben, sollten Sie das Anwendungsverhalten und die Anwendungsleistung Ihrer Workload nachverfolgen. Dieser Prozess umfasst die folgenden Aktivitäten:

Durchführen von Tests

Das Testvorgehen für die Datenbankmigration umfasst die folgenden Aktivitäten:

  1. Entwickeln von Validierungstests: Für das Testen der Datenbankmigration müssen Sie SQL-Abfragen verwenden. Sie müssen die Validierungsabfragen erstellen, die für die Quell- und die Zieldatenbank ausgeführt werden sollen. Ihre Validierungsabfragen sollten den von Ihnen definierten Bereich abdecken.
  2. Einrichten der Testumgebung: Die Testumgebung sollte eine Kopie der Quelldatenbank und der Zieldatenbank enthalten. Stellen Sie sicher, dass Sie die Testumgebung isolieren.
  3. Ausführen der Validierungstests: Führen Sie die Validierungstests für die Quelle und das Ziel aus, und analysieren Sie anschließend die Ergebnisse.
  4. Ausführen von Leistungstests: Führen Sie Leistungstests für die Quelle und das Ziel aus, und analysieren und vergleichen Sie anschließend die Ergebnisse.

Verwenden erweiterter Funktionen

Sie können die erweiterten cloudbasierten Features von SQL Managed Instance nutzen, z. B. die integrierte Hochverfügbarkeit, die Bedrohungserkennung und die Überwachung und Optimierung Ihrer Workload.

Die Azure SQL-Analyse bietet eine zentralisierte Überwachung für große Mengen verwalteter Instanzen.

Einige SQL Server-Features sind nur verfügbar, wenn der Datenbank-Kompatibilitätsgrad in den neuesten Kompatibilitätsgrad (150) geändert wurde.