SQL-Datenbank von Windows zu Linux migrieren


In dieser Anleitung werden zwei unterschiedliche Ansätze zur Migration einer SQL Server-Datenbank von einem Windows-Server zu einem Linux-Server beschrieben.

Auf dieser Seite werden die folgenden Methoden beschrieben:

Die ideale Migrationsmethode wird von der zulässigen Ausfallzeit für eine bestimmte Datenbank und deren Größe beeinflusst. 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-Domaincontrollern.
  • Ein Subnetz, das für die VM-Instanzen (virtuelle Maschinen) des Windows Server Failover Clusters (WSFC) 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.

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 zu einem 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

Zum Importieren einer SQL-Datenbank in Linux benötigen Sie Folgendes:

  • Windows-Computer mit folgenden Anforderungen:

    • SQL Server ist installiert.
    • SSMS ist installiert.
    • Die SQL-Datenbank, die Sie migrieren möchten, befindet sich auf diesem Computer. In dieser Anleitung wird die Beispieldatenbank AdventureWorks2022 verwendet.
  • Linux-Rechner mit installiertem SQL Server

SQL-Datenbank aus einem Windows-basierten SQL Server exportieren

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

  1. Erstellen Sie auf dem Windows-Computer einen neuen Ordner auf dem Laufwerk C: und nennen Sie ihn export (c:\export).
  2. Öffnen Sie SSMS.
  3. Geben Sie im Fenster „Verbindung“ localhost ein und klicken Sie auf Verbinden.
  4. Maximieren Sie im Object Explorer Datenbanken.
  5. Klicken Sie mit der rechten Maustaste auf die Zieldatenbank, wählen Sie Aufgaben und dann Anwendung der Datenebene exportieren… aus. Der Assistent zum Exportieren von Daten 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 zum Exportieren von Daten so, dass die Sicherungsdatei (BACPAC-Datei, .bacpac) auf dem lokalen Laufwerk gespeichert wird.

  8. Geben Sie den Ordner und den Dateinamen wie unten beschrieben an:

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

  10. Überprü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 Object Explorer mit der rechten Maustaste auf den Ordner Datenbanken und wählen Sie Datenebenenanwendung importieren… aus.
  4. Geben Sie die .bacpac-Datei an, die beim Exportvorgang erstellt wurde.

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

  6. Geben Sie AdventureWorks2022 an.

    AdventureWorks2022
    
  7. Prüfen Sie, ob der Daten- und Protokollpfad die Standardeinstellungen der Linux-Instanz enthält.

  8. Klicken Sie auf Weiter.

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

    Einstellungen für die Bacpac-Datei importieren

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

Migration mit SQL-Sicherung und -Wiederherstellung

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

Vorbereitung

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

  • Windows-Computer mit folgenden Anforderungen:

  • Ein Linux-Computer mit installiertem SQL Server

Datenbank auf einem Windows-Computer sichern

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

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

    Sicherung erstellen

  5. Prüfen Sie im Fenster „Datenbank sichern“, ob Sicherungstyp auf Vollständig und Sichern auf auf Laufwerk festgelegt ist. Notieren Sie sich den Namen und Speicherort der Sicherungsdatei. Der Standardspeicherort für eine Datenbanksicherung unter SQL Server 2022 ist beispielsweise C:\Programme\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Backup.

    Optionen für die Sicherung von SQL-Datenbanken

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

Sicherungsdatei auf Ihren Linux-Computer kopieren

Sie können die Sicherungsdatei mit einem SCP-Client (Secure Copy Protocol) auf Ihren Linux-Computer hochladen. 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 auf Ihrem Windows-Computer eine neue Eingabeaufforderung und rufen Sie das Verzeichnis mit der Sicherungsdatei auf, die Sie im Abschnitt Datenbank auf dem Windows-Computer sichern erstellt haben. Beispiel:

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

    scp MigrationBackup.bak sysadmin@LINUX_INTERNAL_IP:./
    

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

    Kopieren Sie die Sicherungsdatei auf den Zielcomputer.

Sicherungsdatei verschieben

Wenn Sie die Datenbank in SQL Server auf einem Linux-Rechner wiederherstellen möchten, muss sich die Sicherungsdatei am Standardspeicherort befinden, der dem Nutzer mssql gehört, also /var/opt/mssql.

So verschieben Sie die Sicherungsdatei in das Verzeichnis mssql:

  1. Stellen Sie über SSH eine Verbindung vom Windows-Computer zum Ziel-Linux-Computer her.

    ssh sysadmin@LINUX_INTERNAL_IP
    

    Ersetzen Sie dabei 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

So können Sie die Datenbank mit SSMS auf einem Linux-Computer wiederherstellen:

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

    Wählen Sie die Sicherungsdatei aus, die Sie wiederherstellen möchten.

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

  6. Wählen Sie im Fenster „Datenbank wiederherstellen“ unter Quelle die Option Gerät aus und klicken Sie auf , um das Dialogfeld zur Sicherungsauswahl zu öffnen.

  7. Klicken Sie im Dialogfeld „Sicherungsmedium 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 bestätigen und das Dialogfeld zu schließen.

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

    Wählen Sie die Sicherungsdatei aus, die Sie wiederherstellen möchten.

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 Standarddatenverzeichnis von SQL Server 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 in Ihrer migrierten 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