SQL Server-Datenbank von AWS EC2 zu Compute Engine migrieren


In dieser Anleitung werden die verschiedenen Ansätze beschrieben, die Sie verwenden können, um eine Microsoft SQL Server-Datenbank in Amazon Elastic Compute Cloud (AWS EC2) zu Compute Engine zu migrieren.

Auf dieser Seite werden die folgenden Ansätze behandelt:

Jede Migrationsmethode hat unterschiedliche Vor- und Nachteile. Die am besten geeignete Migrationsstrategie hängt von Ihren spezifischen Umständen und Prioritäten ab. Wir empfehlen Ihnen, eine Migrationsmethode auszuwählen, die für Sie am besten geeignet ist. Berücksichtigen Sie dabei Folgendes:

  • Verfügbarkeit:Prüfen Sie, ob ein Migrationsansatz von allen Versionen und Lizenzen Ihrer SQL Server-Datenbank unterstützt wird.

  • Datenbankgröße:Die Größe der Datenbank kann sich erheblich auf die möglichen Migrationsoptionen auswirken, da für größere Datenbanken möglicherweise andere Strategien erforderlich sind als für kleinere. Berücksichtigen Sie bei der Auswahl eines Migrationsansatzes die Dauer der Datenübertragung, potenzielle Ausfallzeiten und Ressourcenanforderungen.

  • Toleranz für Ausfallzeiten:Das akzeptable Maß an Ausfallzeiten während der Migration ist ein wichtiger Faktor. Bei einigen Methoden sind nur minimale oder fast keine Ausfallzeiten erforderlich, bei anderen längere Ausfallzeiten. Wählen Sie einen Migrationsansatz, der für Sie akzeptable Ausfallzeiten bietet.

  • Komplexität:Die Komplexität des Datenbankschemas, der Anwendungsabhängigkeiten und der Gesamtumgebung kann den Migrationsansatz beeinflussen. Achten Sie darauf, dass die von Ihnen gewählte Migrationsmethode die Migration von Nicht-Datenbankobjekten wie SQL-Agent-Jobs, verknüpften Servern, Berechtigungen und Nutzerobjekten unterstützt.

  • Kosten:Auch die finanziellen Aspekte der Migration können eine Rolle spielen. Für die verschiedenen Migrationsmethoden fallen unterschiedliche Kosten für Datenübertragung, Rechenressourcen und andere Dienste an. Wählen Sie eine Migrationsmethode aus, die am besten zu Ihnen passt.

  • Datensicherheit und Compliance:Achten Sie darauf, dass die gewählte Migrationsmethode Ihren Anforderungen an Datensicherheit und Compliance entspricht. Berücksichtigen Sie die Datenverschlüsselung, Zugriffssteuerungen und alle branchenspezifischen Anforderungen, die für Ihre Daten gelten.

Lernziele

In dieser Anleitung erfahren Sie, wie Sie die folgenden Aufgaben ausführen, um Ihre SQL Server-Datenbank von AWS EC2 zu Compute Engine zu migrieren:

Kosten

In dieser Anleitung werden kostenpflichtige Komponenten von Trusted Cloud by S3NSverwendet, darunter:

Sie können mithilfe des Preisrechners eine Kostenschätzung für Ihre voraussichtliche Nutzung erstellen.

Hinweise

Führen Sie die folgenden Aufgaben aus, bevor Sie beginnen:

  1. In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.

    Go to project selector

  2. Verify that billing is enabled for your Trusted Cloud project.

  3. In the Trusted Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    Projekt und Netzwerk vorbereiten

    So bereiten Sie Ihr Trusted Cloud -Projekt und Ihre Virtual Private Cloud (VPC) für die Bereitstellung von SQL Server für die Migration vor:

    1. Klicken Sie in der Trusted Cloud Console auf Cloud Shell aktivieren Aktivieren Sie Cloud Shell., um Cloud Shell zu öffnen.

      Zur Trusted Cloud Console

    2. Legen Sie Ihre standardmäßige Projekt-ID fest:

      gcloud config set project PROJECT_ID
      

      Ersetzen Sie PROJECT_ID durch die ID Ihres Projekts. Trusted Cloud

    3. Legen Sie Ihre Standardregion fest:

      gcloud config set compute/region REGION
      

      Ersetzen Sie REGION durch die ID der Region, in der die Bereitstellung erfolgen soll.

    4. Legen Sie Ihre Standardzone fest:

      gcloud config set compute/zone ZONE
      

      Ersetzen Sie ZONE durch die ID der Zone, in der die Bereitstellung erfolgen soll. Achten Sie darauf, dass die Zone in der Region, die Sie im vorherigen Schritt angegeben haben, gültig ist.

    SQL Server-Instanz in Compute Engine erstellen

    Bevor Sie Ihre SQL Server-Datenbank zu Compute Engine migrieren können, müssen Sie eine VM in Compute Engine erstellen, auf der sie gehostet werden kann.

    Verwenden Sie den folgenden Befehl, um eine SQL Server-Instanz in Compute Engine zu erstellen:

    2022 Standard

    gcloud compute instances create sql-server-std-migrate-vm \
    --project=PROJECT_ID \
    --zone ZONE \
    --machine-type n4-standard-8 \
    --subnet SUBNET_NAME \
    --create-disk=auto-delete=yes,boot=yes,device-name=node-1,image=projects/windows-sql-cloud/global/images/sql-2022-standard-windows-2022-dc-v20250213,mode=rw,size=50,type=projects/PROJECT_ID/zones/ZONE/diskTypes/pd-balanced \
    --scopes=https://www.googleapis.com/auth/compute,https://www.googleapis.com/auth/servicecontrol,https://www.googleapis.com/auth/service.management.readonly,https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring.write,https://www.googleapis.com/auth/trace.append,https://www.googleapis.com/auth/devstorage.read_write
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID:die ID Ihres Trusted Cloud -Projekts.
    • ZONE:die ID der Zone.
    • SUBNET_NAME mit dem Namen Ihres VPC-Subnetzes.

    2022 Enterprise

    gcloud compute instances create sql-server-ent-migrate-vm \
    --project=PROJECT_ID \
    --zone ZONE \
    --machine-type n4-standard-8 \
    --subnet SUBNET_NAME \
    --create-disk=auto-delete=yes,boot=yes,device-name=node-1,image=projects/windows-sql-cloud/global/images/sql-2022-enterprise-windows-2022-dc-v20250213,mode=rw,size=50,type=projects/PROJECT_ID/zones/ZONE/diskTypes/pd-balanced \
    --scopes=https://www.googleapis.com/auth/compute,https://www.googleapis.com/auth/servicecontrol,https://www.googleapis.com/auth/service.management.readonly,https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring.write,https://www.googleapis.com/auth/trace.append,https://www.googleapis.com/auth/devstorage.read_write
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID:die ID Ihres Trusted Cloud -Projekts.
    • ZONE:die ID der Zone.
    • SUBNET_NAME mit dem Namen Ihres VPC-Subnetzes.

    Weitere Informationen zum Erstellen von SQL Server-Instanzen auf Compute Engine finden Sie unter SQL Server-Instanz erstellen.

    SQL Server-VM konfigurieren und eine Verbindung herstellen

    So konfigurieren Sie Ihre SQL Server-VM und stellen eine Verbindung zu ihr her:

    1. Legen Sie das anfängliche Windows-Passwort für Ihr Konto fest:

      1. Rufen Sie in der Trusted Cloud Console die Seite VM-Instanzen auf.

        Zu „VM-Instanzen“

      2. Klicken Sie auf den Namen der SQL Server-VM.

      3. Klicken Sie auf die Schaltfläche Windows-Passwort festlegen.

      4. Geben Sie ein Passwort ein und klicken Sie auf Festlegen, wenn Sie aufgefordert werden, das neue Windows-Passwort festzulegen.

      5. Speichern Sie den Nutzernamen und das Passwort.

    2. Stellen Sie eine Verbindung zur SQL Server-VM her:

      1. Verwenden Sie die öffentliche IP-Adresse der SQL Server-VM von der Seite VM-Instanzen und die im vorherigen Schritt gespeicherten Anmeldedaten, um mit Microsoft Remote Desktop (RDP) eine Verbindung zu Ihrer SQL Server-VM herzustellen.

      2. Führen Sie SQL Server Management Studio (SSMS) als Administrator aus.

      3. Prüfen Sie, ob das Kästchen Serverzertifikat vertrauen aktiviert ist, und klicken Sie auf Verbinden.

    Ihre SQL Server-VM kann jetzt für die Datenbankmigration verwendet werden. Informationen zum Erstellen neuer Nutzeranmeldungen zum Herstellen einer Verbindung zu Ihrer SQL Server-VM und zum Verwalten dieser VM finden Sie unter Anmeldung erstellen.

    Vollständige Datenbanksicherung und ‑wiederherstellung

    Eine vollständige Datenbanksicherung und ‑wiederherstellung ist die gängigste und einfachste Methode zur Datenbankmigration. Bei diesem Ansatz wird eine vollständige Sicherung der SQL Server-Datenbank in der Quellumgebung erstellt und dann in der Zielumgebung Trusted Cloud by S3NS wiederhergestellt. Diese Methode ist zwar relativ einfach, kann aber bei großen Datenbanken zeitaufwendig sein, da das Erstellen und Wiederherstellen der Sicherung Zeit in Anspruch nimmt.

    In diesem Abschnitt wird beschrieben, wie Sie Ihre SQL Server-Datenbank mit SSMS exportieren. Dazu wird die Beispieldatenbank AdventureWorks2022 verwendet.

    Vollständige Datenbanksicherung erstellen

    So erstellen Sie eine vollständige Datenbanksicherung:

    1. Melden Sie sich mit Microsoft RDP bei Ihrer AWS EC2-VM an.

    2. Stellen Sie mit SSMS eine Verbindung zu SQL Server her.

    3. Maximieren Sie den Ordner „Databases“ (Datenbanken) im Object Explorer.

    4. Klicken Sie mit der rechten Maustaste auf den Datenbanknamen und dann im Menü auf Aufgaben.

    5. Klicken Sie auf Sichern, um den Assistenten für die Datenbanksicherung zu öffnen.

      1. Prüfen Sie, ob der Name der zu sichernden Datenbank korrekt ist und der Sicherungstyp auf „Vollständig“ festgelegt ist.

      2. Klicken Sie unter dem Ziel für das vollständige Backup auf Hinzufügen.

      3. Klicken Sie auf das Dreipunkt-Menü (...), um den Ordner und den Namen der Sicherungsdatei auszuwählen.

      4. Klicken Sie auf OK, um den Dateinamen festzulegen, und noch einmal auf OK, um das Ziel festzulegen.

        Optionen für die Datenbanksicherung.

      5. Klicken Sie auf OK, um die Datenbanksicherung zu starten, und warten Sie, bis die Sicherung abgeschlossen ist.

        Nach Abschluss der Sicherung wird eine Sicherungsdatei erstellt. Sie können diese Sicherungsdatei jetzt verwenden, um die Datenbankinhalte auf eine Compute Engine-VM zu migrieren.

      6. Klicken Sie auf OK, um den Assistenten für die Datenbanksicherung zu beenden.

    Sicherungsdatei auf eine Compute Engine-VM übertragen

    Wenn Sie den Inhalt Ihrer SQL Server-Datenbank migrieren möchten, müssen Sie die im vorherigen Schritt erstellte Sicherungsdatei auf die von Ihnen erstellte Compute Engine-VM übertragen. Informationen zu den verschiedenen Übertragungsoptionen finden Sie unter Dateien auf Windows-VMs übertragen.

    SQL Server-Datenbank aus der Sicherungsdatei wiederherstellen

    So stellen Sie die Datenbank aus der Sicherungsdatei wieder her:

    1. Melden Sie sich über RDP bei Ihrer Compute Engine-VM an.

    2. Stellen Sie mit SSMS eine Verbindung zu SQL Server her.

    3. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf den Ordner Datenbanken und dann auf Datenbank wiederherstellen.

    4. Klicken Sie für die Quelle auf Gerät und das Dreipunkt-Menü (...), um die Seite „Sicherungsgerät auswählen“ zu öffnen.

    5. Prüfen Sie, ob der Sicherungsmedientyp auf „Datei“ festgelegt ist, und klicken Sie auf Hinzufügen, um die Sicherungsdatei auszuwählen.

      Wählen Sie das Gerät aus, auf dem die Datenbank wiederhergestellt werden soll.

    6. Klicken Sie auf OK, um die Sicherungsdatei als Wiederherstellungsgerät festzulegen.

    7. Klicken Sie auf OK, um die Datenbank wiederherzustellen.

      Wenn der Vorgang abgeschlossen ist, wird Ihre Datenbank zum Ziel-SQL Server in Compute Engine migriert.

    8. Um zu prüfen, ob der Vorgang erfolgreich abgeschlossen wurde, können Sie im Object Explorer den Ordner Databases (Datenbanken) maximieren und prüfen, ob die migrierte Datenbank angezeigt wird.

      Stellen Sie sicher, dass die Datenbank wiederhergestellt wurde.

    Mit einer BACPAC-Datei migrieren

    Eine BACPAC-Datei (Backup Package) ist eine logische Darstellung einer SQL Server-Datenbank. Es kann aus der AWS-Quellumgebung exportiert und dann in die Trusted Cloud by S3NS -Zielumgebung importiert werden. Diese Methode ist in der Regel schneller als eine vollständige Sicherung und Wiederherstellung für kleinere Datenbanken, eignet sich jedoch möglicherweise nicht für sehr große Datenbanken oder solche mit komplexen Abhängigkeiten.

    Im folgenden Abschnitt wird beschrieben, wie Sie Ihre SQL Server-Datenbank mithilfe einer BACPAC-Datei migrieren können.

    BACPAC-Export erstellen

    So erstellen Sie einen BACPAC-Export:

    1. Melden Sie sich mit Microsoft RDP bei der AWS EC2-VM an.

    2. Stellen Sie mit SSMS eine Verbindung zu SQL Server her.

    3. Maximieren Sie im Objekt-Explorer den Ordner Databases (Datenbanken).

    4. Klicken Sie mit der rechten Maustaste auf den Datenbanknamen und dann auf Tasks (Aufgaben).

    5. Klicken Sie auf Data-tier-Anwendung exportieren, um den Export-Assistenten zu öffnen.

      1. Klicken Sie auf Weiter.

      2. Klicken Sie in der Option Auf lokaler Festplatte speichern auf Durchsuchen und wählen Sie die BACPAC-Datei aus.

      3. Klicken Sie auf den Tab Erweitert und wählen Sie die Schemas aus, die Sie exportieren möchten.

      4. Klicken Sie auf Weiter, um zur Zusammenfassung zu gelangen.

      5. Klicken Sie auf Fertigstellen, um die BACPAC-Datei zu exportieren, und warten Sie, bis der Export abgeschlossen ist.

      6. Klicken Sie auf Schließen, um den Assistenten zu beenden.

    6. Übertragen Sie die in den vorherigen Schritten erstellte BACPAC-Datei auf Ihre Ziel-VM in Compute Engine. Informationen zu den Übertragungsoptionen finden Sie unter Dateien auf Windows-VMs übertragen.

    SQL Server-Datenbank aus einer BACPAC-Datei wiederherstellen

    So stellen Sie die Datenbank aus der BACPAC-Datei wieder her:

    1. Melden Sie sich über RDP bei der Compute Engine-VM an.

    2. Stellen Sie mit SSMS eine Verbindung zu SQL Server her.

    3. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf den Ordner Datenbanken und dann auf Data-tier-Anwendung importieren.

    4. Klicken Sie auf Weiter.

    5. Klicken Sie auf Durchsuchen, wählen Sie die BACPAC-Datei aus, die Sie wiederherstellen möchten, und klicken Sie dann auf Weiter.

    6. Prüfen Sie den Namen der neuen Datenbank und klicken Sie auf Weiter.

    7. Klicken Sie auf Fertigstellen und warten Sie, bis der Import abgeschlossen ist.

    8. Klicken Sie auf Schließen, um den Assistenten zu beenden.

    9. Um zu prüfen, ob der Vorgang erfolgreich abgeschlossen wurde, können Sie im Object Explorer den Ordner Databases (Datenbanken) maximieren und prüfen, ob die migrierte Datenbank angezeigt wird.

    Mit Always On-Verfügbarkeitsgruppen migrieren

    Eine AOAG ist ein Feature von SQL Server für Hochverfügbarkeit und Notfallwiederherstellung. Sie können eine AOAG verwenden, um vorhandene AOAG-Cluster, eigenständige SQL Server und Windows Server-Failovercluster (WSFC) zu migrieren. Bei dieser Methode wird ein Replikat der Datenbank in der Zielumgebung Trusted Cloud by S3NS erstellt und die Daten werden zwischen Quelle und Ziel synchronisiert. Nach Abschluss der Synchronisierung kann das Replikat in der Zielumgebung Trusted Cloud by S3NS zum primären Replikat gemacht werden. Diese Methode minimiert Ausfallzeiten, erfordert aber eine zusätzliche Konfiguration und Einrichtung. Für einfache Migrationen mit einer hohen Toleranz für Ausfallzeiten sind andere Methoden möglicherweise einfacher und kostengünstiger.

    Hinweise

    Achten Sie vor Beginn der Migration auf Folgendes:

    • Um eine sichere und nahtlose Datenübertragung zu gewährleisten, stellen Sie eine Peering-Verbindung zwischen AWS und Trusted Cloud by S3NSher. Weitere Informationen finden Sie unter HA VPN-Verbindungen zwischen Trusted Cloud by S3NS und AWS erstellen.

    • Die Quelldatenbank muss im Standalone-Modus ausgeführt werden und sowohl der Quell- als auch der Zielserver müssen mit einem Active Directory (AD) verbunden sein. Wenn die Quelldatenbank bereits Teil eines WSFC-Clusters mit einer AOAG ist, lesen Sie den Abschnitt Mit verteilten Verfügbarkeitsgruppen migrieren.

    • Achten Sie darauf, dass alle Verschlüsselungsschlüssel in der Quell-SQL Server-Datenbank auf allen SQL Server-Instanzen installiert sind, die der AOAG beitreten.

    SQL Server für die Teilnahme an einer AOAG vorbereiten

    Wenn Sie einer AOAG SQL-Server hinzufügen möchten, müssen Sie die AOAG-Funktion für alle SQL-Server-Instanzen aktivieren, die Sie der Gruppe hinzufügen möchten.

    So aktivieren Sie die AOAG-Funktion auf allen SQL Server-VMs, die Sie einer AOAG hinzufügen möchten:

    1. Aktivieren Sie AOAG auf Ihrem SQL Server.

      1. Melden Sie sich über RDP bei Ihrer SQL Server-VM an.

      2. Öffnen Sie PowerShell im Administratormodus.

      3. Führen Sie den folgenden Befehl aus, um AOAG auf Ihrem SQL Server zu aktivieren.

        Enable-SqlAlwaysOn -ServerInstance $env:COMPUTERNAME -Force
        

      4. Führen Sie den folgenden Befehl aus, um einen Firewallport für die Datenreplikation zu öffnen.

        netsh advfirewall firewall add rule name="Allow SQL Server replication" dir=in action=allow protocol=TCP localport=5022
        
      5. Wiederholen Sie Schritt 1 für alle SQL Server-VMs, die Sie der AOAG hinzufügen möchten.

    2. Erstellen Sie einen neuen Nutzer für Ihre SQL Server-Instanz in Ihrem AD.

      $Credential = Get-Credential -UserName sql_server -Message 'Enter password'
      New-ADUser `
      -Name "sql_server" `
      -Description "SQL Admin account." `
      -AccountPassword $Credential.Password `
      -Enabled $true -PasswordNeverExpires $true
      
    3. Führen Sie die folgenden Schritte für alle SQL Server-Instanzen aus, die Teil der AOAG sind:

      1. Öffnen Sie den SQL Server-Konfigurations-Manager.
      2. Wählen Sie im Navigationsbereich die Option SQL Server-Dienste aus.
      3. Klicken Sie in der Liste der Dienste mit der rechten Maustaste auf SQL Server (MSSQLSERVER) und wählen Sie Eigenschaften.
      4. Ändern Sie unter Anmeldung als das Konto so:
        • Kontoname:DOMAIN\sql_server, wobei DOMAIN der NetBIOS-Name Ihrer AD-Domain ist.
        • Passwort:Geben Sie das Passwort ein, das Sie im vorherigen Schritt 2 dieses Abschnitts ausgewählt haben.
      5. Klicken Sie auf OK.

      6. Wenn Sie aufgefordert werden, SQL Server neu zu starten, wählen Sie Ja.

    Ihre SQL Server-Instanz wird jetzt unter einem Domainnutzerkonto ausgeführt.

    Spiegelungsendpunkt für Ihre SQL Server-Datenbank einrichten

    So erstellen Sie den Endpunkt für Ihre AOAG:

    1. Wenn die Quell-SQL Server-Datenbank mit Transparent Data Encryption (TDE) verschlüsselt ist, führen Sie diesen Schritt aus, um die Zertifikate und Schlüssel zu sichern, zu übertragen und in der Ziel-SQL Server-Instanz zu installieren.

    2. Melden Sie sich mit SSMS bei der Quelldatenbank in AWS an.

    3. Führen Sie den folgenden T-SQL-Befehl aus, um den Endpunkt für die Verfügbarkeitsgruppe zu erstellen.

      USE [master]
      GO
      CREATE LOGIN [NET_DOMAIN\sql_server] FROM WINDOWS
      GO
      
      USE [DATABASE_NAME]
      GO
      CREATE USER [NET_DOMAIN\sql_server] FOR LOGIN [NET_DOMAIN\sql_server]
      GO
      
      USE [master]
      GO
      CREATE ENDPOINT migration_endpoint
          STATE=STARTED
          AS TCP (LISTENER_PORT=5022)
          FOR DATABASE_MIRRORING (ROLE=ALL);
      GO
      
      GRANT CONNECT ON ENDPOINT::[migration_endpoint] TO [NET_DOMAIN\sql_server]
      GO
      

      Ersetzen Sie NET_DOMAIN durch den NetBIOS-Namen Ihrer AD-Domain und DATABASE_NAME durch den Namen der zu migrierenden Datenbank.

    4. Stellen Sie mit SSMS eine Verbindung zum Ziel-SQL Server auf Trusted Cloud by S3NS her und führen Sie den folgenden T-SQL-Befehl aus, um den Datenbankspiegelungsendpunkt zu erstellen.

      CREATE LOGIN [NET_DOMAIN\sql_server] FROM WINDOWS
      GO
      
      CREATE ENDPOINT migration_endpoint
          STATE=STARTED
          AS TCP (LISTENER_PORT=5022)
          FOR DATABASE_MIRRORING (ROLE=ALL);
      GO
      
      GRANT CONNECT ON ENDPOINT::[migration_endpoint] TO [NET_DOMAIN\sql_server]
      GO
      

      Ersetzen Sie NET_DOMAIN durch den NetBIOS-Namen Ihrer AD-Domain.

    5. Prüfen Sie die Endpunkte, indem Sie im Objekt-Explorer in SSMS zu Serverobjekte > Endpunkte > Datenbankspiegelung navigieren.

      SMSS-Endpunktansicht

    AOAG erstellen

    So erstellen Sie eine AOAG:

    1. Melden Sie sich mit SSMS bei der Quelldatenbank in AWS an.

    2. Führen Sie den folgenden T-SQL-Befehl aus, um den Datenbankwiederherstellungsmodus auf „Vollständig“ festzulegen und eine vollständige Sicherung zu erstellen.

      USE [master]
      GO
      
      ALTER DATABASE [DATABASE_NAME]
      SET RECOVERY FULL;
      BACKUP DATABASE [DATABASE_NAME]
      TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Backup\DATABASE_NAME.bak';
      

      Ersetzen Sie DATABASE_NAME durch den Namen der zu migrierenden Datenbank.

    3. Führen Sie den folgenden T-SQL-Befehl aus, um die AOAG zu erstellen.

      USE [master]
      GO
      
      CREATE AVAILABILITY GROUP [migration-ag]
      WITH (
          AUTOMATED_BACKUP_PREFERENCE = SECONDARY,
          DB_FAILOVER = OFF,
          DTC_SUPPORT = NONE,
          REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT = 0
      )
      FOR DATABASE [DATABASE_NAME]
      REPLICA ON
      N'SOURCE_SERVERNAME' WITH (
          ENDPOINT_URL = 'TCP://SOURCE_HOSTNAME:5022',
          AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
          FAILOVER_MODE = MANUAL,
          BACKUP_PRIORITY = 50,
          SEEDING_MODE = AUTOMATIC,
          SECONDARY_ROLE(ALLOW_CONNECTIONS = READ_ONLY)
      ),
      N'DEST_SERVERNAME' WITH (
          ENDPOINT_URL = 'TCP://DEST_HOSTNAME:5022',
          AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
          FAILOVER_MODE = MANUAL,
          BACKUP_PRIORITY = 50,
          SEEDING_MODE = AUTOMATIC,
          SECONDARY_ROLE(ALLOW_CONNECTIONS = READ_ONLY)
      );
      GO
      

      Ersetzen Sie Folgendes:

      • DATABASE_NAME:Name der zu migrierenden Datenbank.
      • SOURCE_SERVERNAME:Servername der Quelldatenbank.
      • DEST_SERVERNAME mit dem Servernamen der Zieldatenbank.
      • SOURCE_HOSTNAME:mit dem vollständig qualifizierten Domainnamen (Fully Qualified Domain Name, FQDN) der Quelle.
      • DEST_HOSTNAME:mit dem FQDN des Ziels.
    4. Führen Sie den folgenden T-SQL-Befehl in der Zieldatenbank aus, um sie der AOAG hinzuzufügen.

      USE [master]
      GO
      
      ALTER AVAILABILITY GROUP [migration-ag] JOIN WITH (CLUSTER_TYPE = EXTERNAL);
      ALTER AVAILABILITY GROUP [migration-ag] GRANT CREATE ANY DATABASE;
      GO
      
    5. Prüfen Sie den neu erstellten AOAG und den Datenbankstatus im Objekt-Explorer oder durch Ausführen des folgenden T-SQL-Befehls.

      SELECT * FROM sys.dm_hadr_availability_group_states
      GO
      

      Replikatdatenbank prüfen

    Die SQL Server-AOAG ist jetzt konfiguriert und wird zwischen AWS und Trusted Cloud by S3NSsynchronisiert. Als Nächstes müssen Sie einen WSFC und einen Listener für Hochverfügbarkeit und Notfallwiederherstellung konfigurieren. Weitere Informationen finden Sie unter Windows Server Failover Clustering mit SQL Server und Was ist ein Verfügbarkeitsgruppenlistener?.

    Mit verteilten Verfügbarkeitsgruppen migrieren

    Eine verteilte Verfügbarkeitsgruppe ist ein besonderer Typ von Verfügbarkeitsgruppe, die zwei separate Verfügbarkeitsgruppen umfasst. Es wurde entwickelt, um Hochverfügbarkeit und Notfallwiederherstellung an geografisch verteilten Standorten zu ermöglichen. Diese Architektur ermöglicht eine nahtlose Datenreplikation und ein nahtloses Failover zwischen der primären und der sekundären Verfügbarkeitsgruppe, was ideal für die Datenmigration ist. Weitere Informationen finden Sie unter Verteilte Verfügbarkeitsgruppen.

    .

    In den folgenden Abschnitten wird beschrieben, wie Sie Ihre SQL Server-Datenbank mithilfe von verteilten Verfügbarkeitsgruppen migrieren können.

    Hinweise

    Sie benötigen einen WSFC mit SQL Server, der eine Verfügbarkeitsgruppe mit einem VNN-Listener (Virtual Network Name) verwendet und auf AWS ausgeführt wird.

    Zielumgebung vorbereiten

    So bereiten Sie die Zielumgebung vor:

    1. Informationen zum Konfigurieren eines WSFC mit SQL Server mithilfe einer Verfügbarkeitsgruppe mit einem internen Load-Balancer auf Trusted Cloud by S3NSfinden Sie unter SQL Server AlwaysOn-Verfügbarkeitsgruppen mit synchronem Commit mithilfe eines internen Load-Balancers konfigurieren.

    2. Prüfen Sie im Objekt-Explorer, ob bookshelf-ag erstellt wurde und die Datenbank bookshelf repliziert. Nach der Bestätigung führen Sie die nächsten Schritte aus, um sowohl die Verfügbarkeitsgruppe als auch die Datenbank von beiden Knoten in Ihrem Failovercluster zu entfernen.

      Prüfen Sie den Ausgangsstatus des Zielclusters.

    3. Stellen Sie in SSMS eine Verbindung zu node-1 her und speichern Sie die IP-Adresse des bookshelf-Listeners.

      SELECT * FROM sys.availability_group_listeners
      
    4. Führen Sie den folgenden T-SQL-Befehl aus, um die Verfügbarkeitsgruppe bookshelf-ag und die Datenbank bookshelf zu entfernen.

      USE master
      GO
      
      DROP AVAILABILITY GROUP [bookshelf-ag]
      GO
      ALTER DATABASE [bookshelf] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
      GO
      DROP DATABASE [bookshelf]
      GO
      
    5. Führen Sie den folgenden T-SQL-Befehl in SSMS für node-2 aus, um die replizierte Datenbank zu entfernen.

      USE master
      GO
      
      DROP DATABASE [bookshelf]
      GO
      

    Verteilte Verfügbarkeitsgruppe erstellen

    So erstellen Sie eine neue Verfügbarkeitsgruppe für die verteilte Verfügbarkeitsgruppe:

    1. Führen Sie den folgenden T-SQL-Befehl in node-1 aus.

      USE master
      GO
      
      CREATE AVAILABILITY GROUP [gcp-dest-ag]
      FOR
      REPLICA ON
          N'NODE-1' WITH
          (
              ENDPOINT_URL = N'TCP://NODE-1:5022',
              FAILOVER_MODE = MANUAL,
              AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
              BACKUP_PRIORITY = 50,
              SECONDARY_ROLE(ALLOW_CONNECTIONS = NO),
              SEEDING_MODE = AUTOMATIC
          ),
          N'NODE-2' WITH
          (
              ENDPOINT_URL = N'TCP://NODE-2:5022',
              FAILOVER_MODE = MANUAL,
              AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
              BACKUP_PRIORITY = 50,
              SECONDARY_ROLE(ALLOW_CONNECTIONS = NO),
              SEEDING_MODE = AUTOMATIC
          );
      GO
      
    2. Erstellen Sie einen Listener.

      USE master;
      GO
      
      ALTER AVAILABILITY GROUP [gcp-dest-ag]
      ADD LISTENER N'gcp-dest-lsnr' (
      WITH IP (
      (N'LISTENER_IP', N'255.255.255.0')
      ),
      PORT = 1433);
      GO
      

      Ersetzen Sie LISTENER_IP durch die IP-Adresse des Listeners.

    3. Stellen Sie mit SSMS eine Verbindung zu node-2 her und führen Sie den folgenden T-SQL-Befehl aus, um sie der Verfügbarkeitsgruppe gcp-dest-ag hinzuzufügen.

      USE master
      GO
      
      ALTER AVAILABILITY GROUP [gcp-dest-ag] JOIN;
      ALTER AVAILABILITY GROUP [gcp-dest-ag] GRANT CREATE ANY DATABASE;
      
    4. Stellen Sie mit SSMS eine Verbindung zum primären Replikat der Quell-SQL Server-Instanz in AWS her und führen Sie den folgenden T-SQL-Befehl aus, um eine verteilte Verfügbarkeitsgruppe zu erstellen.

      USE [master]
      GO
      
      CREATE AVAILABILITY GROUP [distributed-ag]
      WITH (DISTRIBUTED)
      AVAILABILITY GROUP ON
      'AWS_AG' WITH
      (
          LISTENER_URL = 'tcp://AWS_LISTENER:5022',
          AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
          FAILOVER_MODE = MANUAL,
          SEEDING_MODE = AUTOMATIC
      ),
      'gcp-dest-ag' WITH
      (
          LISTENER_URL = 'tcp://gcp-dest-lsnr:5022',
          AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
          FAILOVER_MODE = MANUAL,
          SEEDING_MODE = AUTOMATIC
      )
      GO
      

      Ersetzen Sie AWS_AG durch den Namen der Verfügbarkeitsgruppe in AWS und AWS_LISTENER durch den Listener der AWS-Verfügbarkeitsgruppe.

    5. Führen Sie den folgenden T-SQL-Befehl in SSMS auf node-1 aus, um ihn der verteilten Verfügbarkeitsgruppe hinzuzufügen.

      USE [master]
      GO
      
      ALTER AVAILABILITY GROUP [distributed-ag]
      JOIN
      AVAILABILITY GROUP ON
      'AWS_AG' WITH
      (
          LISTENER_URL = 'tcp://AWS_LISTENER:5022',
          AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
          FAILOVER_MODE = MANUAL,
          SEEDING_MODE = AUTOMATIC
      ),
      'gcp-dest-ag' WITH
      (
          LISTENER_URL = 'tcp://gcp-dest-lsnr:5022',
          AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
          FAILOVER_MODE = MANUAL,
          SEEDING_MODE = AUTOMATIC
      )
      GO
      

      Ersetzen Sie AWS_AG durch den Namen der Verfügbarkeitsgruppe in AWS und AWS_LISTENER durch den Listener der AWS-Verfügbarkeitsgruppe.

    6. Führen Sie den folgenden T-SQL-Befehl auf „node-1“ aus, um zu prüfen, ob alle Verfügbarkeitsgruppen fehlerfrei sind und in der verteilten Verfügbarkeitsgruppe in den neuen SQL Server-Cluster auf Trusted Cloud by S3NSrepliziert werden.

      SELECT * FROM sys.dm_hadr_availability_group_states
      GO
      

    Bereinigen

    Nachdem Sie die Anleitung abgeschlossen haben, können Sie die erstellten Ressourcen bereinigen, damit sie keine Kontingente mehr nutzen und keine Gebühren mehr anfallen. In den folgenden Abschnitten erfahren Sie, wie Sie diese Ressourcen löschen oder deaktivieren.

    Projekt löschen

    Am einfachsten vermeiden Sie weitere Kosten, wenn Sie das zum Ausführen der Anleitung erstellte Projekt löschen.

    So löschen Sie das Projekt:

    1. In the Trusted Cloud console, go to the Manage resources page.

      Go to Manage resources

    2. In the project list, select the project that you want to delete, and then click Delete.
    3. In the dialog, type the project ID, and then click Shut down to delete the project.