SQL-Datenbank von Windows zu Linux migrieren


In dieser Anleitung werden zwei verschiedene Ansätze für die Migration einer SQL Server-Datenbank von einem Windows-Server zu einem Linux-Server beschrieben.

Auf dieser Seite werden die folgenden Methoden behandelt:

Die ideale Migrationsmethode hängt von der akzeptablen Ausfallzeit für eine bestimmte Datenbank und ihrer Größe ab. Die am häufigsten verwendete Methode ist die Sicherungs- und Wiederherstellungsmethode.

Kosten

In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:

Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.

Neuen Google Cloud Nutzern steht möglicherweise eine kostenlose Testversion zur Verfügung.

Nach Abschluss der in diesem Dokument beschriebenen Aufgaben können Sie weitere Kosten vermeiden, indem Sie die erstellten Ressourcen löschen. Weitere Informationen finden Sie unter Bereinigen.

Hinweise

Die müssen Folgendes haben:

  • Ein Google Cloud -Projekt und eine Virtual Private Cloud (VPC) mit Verbindung zu Ihren Active Directory-Domain-Controllern.
  • Ein Subnetz, das für die WSFC-VM-Instanzen (Windows Server Failover Cluster) verwendet werden soll.

Sie benötigen außerdem ein Google Cloud -Projekt, um die Anleitung abzuschließen:

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Nach Abschluss dieser Anleitung können Sie weitere Kosten durch Löschen von erstellten Ressourcen vermeiden. Weitere Informationen finden Sie unter Bereinigen.

In den folgenden Abschnitten wird beschrieben, wie Sie eine SQL Server-Datenbank von einem Windows-basierten Server auf einen Linux-basierten Server migrieren.

SQL-Datenbank in Linux importieren

In diesem Abschnitt wird beschrieben, wie Sie eine SQL-Datenbank aus einem Windows-basierten SQL Server exportieren und mit SQL Server Management Studio (SSMS) in einen Linux-basierten SQL Server importieren.

Vorbereitung

Für den Import einer SQL-Datenbank in Linux benötigen Sie Folgendes:

  • Windows-Computer mit folgenden Komponenten:

    • SQL Server ist installiert.
    • SSMS ist installiert.
    • Die SQL-Datenbank, die Sie migrieren möchten, ist auf diesem Computer vorhanden. In dieser Anleitung wird die Beispieldatenbank AdventureWorks2022 verwendet.
  • Auf dem Linux-Computer ist SQL Server installiert.

SQL-Datenbank aus einer Windows-basierten SQL Server-Instanz exportieren

So exportieren Sie eine SQL-Datenbank von einem Windows-basierten SQL Server:

  1. Erstellen Sie auf dem Windows-Computer auf dem Laufwerk C: einen neuen Ordner mit dem Namen export (c:\export).
  2. Öffnen Sie SSMS.
  3. Geben Sie im Fenster „Verbindung“ „localhost“ ein und klicken Sie auf Verbinden.
  4. Erweitern Sie im Objekt-Explorer Datenbanken.
  5. Klicken Sie mit der rechten Maustaste auf die Zieldatenbank, wählen Sie Tasks aus und klicken Sie dann auf Export Data-Tier Application... (Data-Tier-Anwendung exportieren). Der Assistent „Daten exportieren“ wird geöffnet.

    Daten exportieren.

  6. Wählen Sie im Assistenten zum Exportieren von Daten die Option Weiter aus.

  7. Konfigurieren Sie auf dem Tab „Einstellungen“ den Assistenten „Daten exportieren“, um die BACPAC-Datei (.bacpac) auf der lokalen Festplatte zu speichern.

  8. Geben Sie Ordner und Dateinamen so an:

    c:\export\MigrationFile.bacpac
    
  9. Klicken Sie auf Weiter.

  10. Prüfen Sie die angegebenen Einstellungen und klicken Sie auf Fertigstellen, um den Exportvorgang zu starten. Die .bacpac-Datei wurde am ausgewählten Speicherort erstellt. Sie können sie jetzt in einen Ziel-SQL-Server importieren.

Datenbank in Linux importieren

So importieren Sie eine SQL-Datenbank in einen Linux-basierten SQL Server:

  1. Öffnen Sie SSMS.
  2. Geben Sie im Fenster „Verbindung“ die IP-Adresse des Zielservers ein und klicken Sie auf Verbinden.
  3. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf den Ordner Datenbanken und wählen Sie Data-tier Application importieren… aus.
  4. Geben Sie die im Exportverfahren erstellte BACPAC-Datei an.

    c:\export\MigrationFile.bacpac
    
  5. Klicken Sie auf Weiter.

  6. Geben Sie AdventureWorks2022 an.

    AdventureWorks2022
    
  7. Prüfen Sie, ob für den Daten- und Logpfad die Standardeinstellungen der Linux-Instanz angezeigt werden.

  8. Klicken Sie auf Weiter.

  9. Prüfen Sie die Importeinstellungen und klicken Sie auf Fertigstellen, um den Import zu starten.

    Einstellungen der BACPAC-Datei importieren.

  10. Klicken Sie auf Schließen, um den Importassistenten zu schließen. Die Datenbank ist bereit für Verbindungen.

Mit SQL-Sicherung und ‑Wiederherstellung migrieren

Sie können eine Datenbank von SQL Server unter Windows zu SQL Server unter Linux migrieren, indem Sie die Sicherungs- und Wiederherstellungsfunktion verwenden. In diesem Abschnitt finden Sie eine Schritt-für-Schritt-Anleitung, mit der Sie Ihre Datenbank mit dieser Methode in die Linux-Umgebung übertragen können.

Vorbereitung

Für die Migration einer Datenbank mit der Sicherungs- und Wiederherstellungsmethode benötigen Sie Folgendes:

  • Windows-Computer mit folgenden Komponenten:

  • Ein Linux-Computer mit installierter SQL Server-Instanz.

Datenbank auf Ihrem Windows-Computer sichern

So sichern Sie eine Datenbank in einer Datei unter Windows mit SSMS:

  1. Öffnen Sie SSMS auf dem Windows-Computer.
  2. Geben Sie im Fenster „Verbindung“ „localhost“ ein.
  3. Erweitern Sie im Objekt-Explorer Datenbanken.
  4. Klicken Sie mit der rechten Maustaste auf die Zieldatenbank, wählen Sie Tasks (Aufgaben) aus und klicken Sie dann auf Back Up... (Sichern …).

    Sicherung erstellen.

  5. Prüfen Sie im Fenster „Datenbank sichern“, ob Sicherungstyp auf Vollständig und Sichern auf auf Festplatte festgelegt ist. Notieren Sie sich den Namen und den Speicherort der Sicherungsdatei. Eine Datenbanksicherung in SQL Server 2022 hat beispielsweise den Standardspeicherort C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Backup.

    Optionen für SQL-Datenbanksicherungen.

  6. Klicken Sie auf OK, um die Sicherung zu starten.

Sicherungsdatei auf Ihre Linux-Maschine kopieren

Sie können einen SCP-Client (Secure Copy Protocol) verwenden, um die Sicherungsdatei auf Ihren Linux-Computer hochzuladen. Im folgenden Verfahren wird ein SCP-Befehlszeilenclient verwendet. Sie können die Datei aber auch mit WinSCP oder der Git Bash Shell hochladen.

  1. Öffnen Sie eine neue Eingabeaufforderung auf Ihrem Windows-Computer und wechseln Sie zu dem Verzeichnis, das die Sicherungsdatei enthält, die im Abschnitt Sichern der Datenbank auf Ihrem Windows-Computer erstellt wurde. Beispiel:

    cd 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Backup\'
    
  2. Verwenden Sie den Befehl scp, um die Datei auf den Linux-Zielrechner zu kopieren. Im folgenden Beispiel wird die zuvor erstellte Datei MigrationBackup.bak verwendet.

    scp MigrationBackup.bak sysadmin@LINUX_INTERNAL_IP:./
    

    Ersetzen Sie LINUX_INTERNAL_IP durch die IP-Adresse Ihres Linux-Computers.

    Kopieren Sie die Sicherungsdatei auf den Zielcomputer.

Sicherungsdatei verschieben

Wenn Sie die Datenbank auf einem Linux-Computer in SQL Server wiederherstellen möchten, muss die Sicherungsdatei am Standardspeicherort des Nutzers mssql, also unter /var/opt/mssql, gespeichert sein.

So verschieben Sie die Sicherungsdatei in das Verzeichnis mssql:

  1. Stellen Sie von der Windows-Maschine aus eine SSH-Verbindung zum Linux-Zielcomputer her.

    ssh sysadmin@LINUX_INTERNAL_IP
    

    Ersetzen Sie LINUX_INTERNAL_IP durch die IP-Adresse Ihres Linux-Computers.

  2. Erstellen Sie ein neues Sicherungsverzeichnis.

    sudo mkdir -p /var/opt/mssql/backup
    
  3. Verschieben Sie die Sicherungsdatei in das neu erstellte Verzeichnis.

    sudo mv ~/MigrationBackup.bak /var/opt/mssql/backup
    

Datenbank wiederherstellen

Sie können die Datenbank auf einem Linux-Computer mit SSMS wiederherstellen. Gehen Sie dazu so vor:

  1. Öffnen Sie SSMS auf Ihrem Windows-Computer.
  2. Geben Sie im Fenster „Verbindung“ die IP-Adresse oder den Hostnamen des Linux-Computers ein.
  3. Geben Sie die Anmeldeinformationen und das Passwort an.
  4. Klicken Sie auf Verbinden.

    Wählen Sie die Sicherungsdatei aus, die wiederhergestellt werden soll.

  5. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf den Ordner Datenbanken und wählen Sie Datenbank wiederherstellen… aus.

  6. Legen Sie im Fenster „Datenbank wiederherstellen“ die Quelle auf Gerät fest und klicken Sie auf ..., um das Dialogfeld zur Auswahl der Sicherung zu öffnen.

  7. Klicken Sie im Dialogfeld „Sicherungsgerät auswählen“ auf Hinzufügen.

  8. Klicken Sie im Dateibrowser auf das Verzeichnis \var\opt\mssql\backup und wählen Sie die hochgeladene Sicherungsdatei aus.

  9. Klicken Sie auf OK, um die Auswahl zu übernehmen und das Dialogfeld zu schließen.

  10. Prüfen Sie die ausgefüllten Sicherungsmedien und klicken Sie auf OK.

    Wählen Sie die Sicherungsdatei aus, die wiederhergestellt werden soll.

Bevor Sie mit der Wiederherstellung Ihrer Datenbank auf einem Linux-Computer beginnen, müssen Sie den Speicherort der wiederhergestellten Datenbankdateien auf Ihrem Linux-Computer aktualisieren, da der Pfad vom Windows-Server auf dem Linux-Server nicht vorhanden ist.

  1. Klicken Sie im Menü auf der linken Seite auf Dateien.
  2. Wählen Sie Alle Dateien verschieben in Ordner aus, um die wiederhergestellten Dateien in das SQL Server-Standarddatenverzeichnis zu verschieben.
  3. Klicken Sie auf OK, um den Wiederherstellungsvorgang zu starten.
  4. Prüfen Sie die Wiederherstellung, indem Sie alle Datenbanken auf dem Server auflisten. Die wiederhergestellte Datenbank sollte aufgeführt sein.

    SELECT Name FROM sys.Databases
    GO
    
  5. Führen Sie weitere Abfragen für Ihre migrierte Datenbank aus.

    USE AdventureWorks2022
    SELECT top 100 * FROM [Person].[Person]
    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 Google 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.

Nächste Schritte