Exportieren und Importieren einer Datenbank unter Linux mit SSMS oder Sqlpackage.exe unter Windows

Gilt für:SQL Server – Linux

In diesem Artikel wird beschrieben, wie Sie mit SQL Server Management Studio (SSMS) und Sqlpackage.exe eine Datenbank unter SQL Server für Linux exportieren und importieren. SSMS und SqlPackage.exe sind Windows-Anwendungen und können daher auf einem Windows-Computer ausgeführt werden, der eine Verbindung mit einer SQL Server-Remoteinstanz unter Linux herstellen kann.

Sie sollten immer die neueste Version von SQL Server Management Studio (SSMS) installieren und verwenden, wie unter Verwenden von SQL Server Management Studio unter Windows zum Verwalten von SQL Server für Linux beschrieben.

Hinweis

Wenn Sie eine Datenbank von einer SQL Server-Instanz zu einer anderen migrieren, sollten Sie Sicherung und Wiederherstellung verwenden.

Exportieren einer Datenbank mit SSMS

  1. Starten Sie SSMS, indem Sie Microsoft SQL Server Management Studio in das Windows-Suchfeld eingeben, und wählen Sie dann die Desktop-App aus.

    Screenshot of SQL Server Management Studio.

  2. Stellen Sie im Objekt-Explorer eine Verbindung mit der Quelldatenbank her. Die Quelldatenbank kann in Microsoft SQL Server lokal ausgeführt werden oder in der Cloud, unter Linux, Windows oder Docker und Azure SQL-Datenbank oder Azure Synapse Analytics.

  3. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf die Quelldatenbank, zeigen Sie auf Aufgaben, und wählen Sie Datenebenenanwendung exportieren.

  4. Wählen Sie im Export-Assistenten Weiter aus, und konfigurieren Sie dann auf der Registerkarte Einstellungen den Export, um die BACPAC-Datei entweder an einem lokalen Speicherort oder in einem Azure-Blob zu speichern.

  5. Standardmäßig werden alle Objekte in der Datenbank exportiert. Wählen Sie die Registerkarte „Erweitert“ und dann die Datenbankobjekte aus, die Sie exportieren möchten.

  6. Klicken Sie auf Weiter und dann auf Fertig stellen.

Die .bacpac-Datei wird erfolgreich an dem von Ihnen ausgewählten Speicherort erstellt, und Sie können Sie in eine Zieldatenbank importieren.

Importieren einer Datenbank mit SSMS

  1. Starten Sie SSMS, indem Sie Microsoft SQL Server Management Studio in das Windows-Suchfeld eingeben, und wählen Sie dann die Desktop-App aus.

    Screenshot of SQL Server Management Studio again.

  2. Stellen Sie im Objekt-Explorer eine Verbindung mit Ihrem Zielserver her. Der Zielserver kann in Microsoft SQL Server lokal ausgeführt werden oder in der Cloud, unter Linux, Windows oder Docker und Azure SQL-Datenbank oder Azure Synapse Analytics.

  3. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf den Ordner Datenbanken, und wählen Sie dann Datenebenenanwendung importieren.

  4. Um die Datenbank auf dem Zielserver zu erstellen, geben Sie eine BACPAC-Datei auf Ihrem lokalen Datenträger an, oder wählen Sie das Azure-Speicherkonto und den Container aus, wohin Sie Ihre BACPAC-Datei hochgeladen haben.

  5. Geben Sie den neuen Datenbanknamen für die neue Datenbank an. Wenn Sie eine Datenbank in Azure SQL-Datenbank importieren, legen Sie die Edition von Microsoft Azure SQL-Datenbank (Dienstebene), die maximale Datenbankgröße und das Dienstziel (Leistungsebene) fest.

  6. Wählen Sie Weiter und dann Fertig stellen aus, um die BACPAC-Datei in eine neue Datenbank auf dem Zielserver zu importieren.

Die .bacpac-Datei wird importiert, um eine neue Datenbank auf dem von Ihnen angegebenen Zielserver zu erstellen.

SqlPackage-Befehlszeilenoption

Es ist auch möglich, das Befehlszeilentool SQL Server Data Tools (SSDT), SqlPackage.exe, zum Exportieren und Importieren von BACPAC-Dateien zu verwenden.

Mit dem folgenden Beispielbefehl wird eine BACPAC-Datei exportiert:

SqlPackage.exe /a:Export /ssn:tcp:<your_server> /sdn:<your_database> /su:<username> /sp:<password> /tf:<path_to_bacpac>

Verwenden Sie den folgenden Befehl, um das Datenbankschema und die Benutzerdaten aus einer .bacpac-Datei zu importieren:

SqlPackage.exe /a:Import /tsn:tcp:<your_server> /tdn:<your_database> /tu:<username> /tp:<password> /sf:<path_to_bacpac>