Freigeben über


SqlPackage für SQL-Datenbank in Microsoft Fabric

Gilt für:SQL-Datenbank in Microsoft Fabric

In diesem Tutorial erfahren Sie, wie Sie mit SqlPackage in Ihrer SQL-Datenbank in Fabric arbeiten.

SqlPackage ist eine CLI, die Datenbankportabilität und Datenbankbereitstellungen bietet.

  • Die Portabilität (Import/Export) einer in Azure oder Fabric verwalteten Datenbank stellt sicher, dass Ihre Daten auf anderen Plattformen portierbar sind, einschließlich SQL Server oder Azure SQL Managed Instance, sollten Sie später migrieren wollen.
  • Die gleiche Portabilität ermöglicht auch bestimmte Migrationsszenarien durch eigenständige Datenbankkopien (.bacpac) mit Import-/Exportvorgängen.

SqlPackage kann auch einfache Datenbankbereitstellungen inkrementeller Änderungen an Datenbankobjekten ermöglichen (neue Spalten in Tabellen, Änderungen an vorhandenen gespeicherten Prozeduren usw.).

  • SqlPackage kann eine .dacpac-Datei extrahieren, die die Definitionen von Objekten in einer Datenbank enthält, und eine .dacpac-Datei veröffentlichen, um diesen Objektstatus auf eine neue oder vorhandene Datenbank anzuwenden.
  • Der Veröffentlichungsvorgang ist auch in SQL-Projekte integriert, die offline und dynamischere Entwicklungszyklen für SQL-Datenbanken ermöglichen.

Voraussetzungen

Setup

SqlPackage ist für Windows, macOS und Linux als Dotnet-Tool verfügbar. Sie können es mit dem folgenden Befehl installieren:

dotnet tool install --global Microsoft.SqlPackage

Als globales Dotnet-Tool steht SqlPackage in Ihrem Terminal als sqlpackage aus jedem Ordner zur Verfügung.

Importieren einer Datenbank mit SqlPackage

Ein .bacpac ist eine portable Kopie einer Datenbank, die für einige Migrations- und Testszenarien nützlich ist. Sie können in eine leere SQL-Datenbank .bacpac.

Hinweis

Ein .bacpac ist keine Sicherung und kein Ersatz für Sicherungs-/Wiederherstellungsfunktionen. Weitere Informationen zu Sicherungen in der Fabric SQL-Datenbank finden Sie unter Automatische Sicherungen in SQL-Datenbank in Microsoft Fabric und Wiederherstellen aus einer Sicherung in einer SQL-Datenbank in Microsoft Fabric.

  1. Wenn Sie ein .bacpac aus Ihrer Azure SQL-Datenbankumgebung verwenden, müssen Sie die Quelldatenbank möglicherweise ändern, um dem T-SQL-Oberflächenbereich der Fabric SQL-Datenbank zu entsprechen.

  2. Erstellen Sie Ihre neue SQL-Datenbank in Fabric wie gewohnt über die Fabric-Schnittstelle.

  3. Kopieren Sie die Verbindungszeichenfolge aus den Einstellungen.

    Screenshot des Fabric-Portals mit der Seite „Verbindungszeichenfolgen“ der SQL-Datenbank.

  4. Verwenden Sie den Importbefehl vom Terminal im Ordner „sqlpackage“. Nennen Sie Ihrem Besitzer <servername> und <database_name>.

    sqlpackage /action:import /sourcefile:"C:\DatabaseName.bacpac" /targetconnectionstring:"Data Source=tcp:<server_name>.database.fabric.microsoft.com,1433;Initial Catalog=<database_name>;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ConnectRetryCount=6;ConnectRetryInterval=10;Authentication=Active Directory Interactive"
    
    • Ersetzen Sie die Verbindungszeichenfolge aus dem Dialogfeld „SQL-Datenbankeinstellungen“.
    • Ersetzen Sie den sourcefile-Wert durch den .bacpac-Namen (DatabaseName) und der location auf dem lokalen Computer.

Weitere Informationen zum Import finden Sie unter SqlPackage-Import.

Exportieren einer Datenbank mit SqlPackage

Das Exportieren eines .bacpac ist der umgekehrte Vorgang, bei dem ihr targetfile ein .bacpac ist und die sourceconnectionstring im Dialogfeld mit den SQL-Datenbankeinstellungen wie im vorherigen Beispiel zu finden ist. Nennen Sie Ihrem Besitzer <servername> und <database_name>. Zum Beispiel:

sqlpackage.exe /action:export /targetfile:"C:\DatabaseName.bacpac" /sourceconnectionstring:"Data Source=tcp:<server_name>.database.fabric.microsoft.com,1433;Initial Catalog=<database_name>;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ConnectRetryCount=6;ConnectRetryInterval=10;Authentication=Active Directory Interactive"

Weitere Informationen zum Export finden Sie unter SqlPackage-Export.

Extrahieren und Veröffentlichen

Diagramm dazu, wie SQL-Datenbankprojekte Schemaänderungen verschieben können.

Ein .dacpac ist eine Datenbankschema-Modelldatei, die Definitionen für die Tabellen, gespeicherten Prozeduren und andere Objekte in der Quelldatenbank enthält. Diese Datei kann aus einer vorhandenen Datenbank mit SqlPackage oder aus einem SQL-Datenbankprojekterstellt werden.

SqlPackage kann ein .dacpac in einer neuen (leeren) Datenbank bereitstellen oder eine vorhandene Datenbank inkrementell aktualisieren, um dem gewünschten .dacpac-Zustand zu entsprechen.

  • Beim Extrahieren wird ein .dacpac oder SQL-Dateien aus einer vorhandenen Datenbank erstellt.
  • Beim Veröffentlichen wird ein .dacpac in einer Datenbank bereitgestellt.

Die Syntax von SqlPackage- veröffentlichen und extrahieren ähnelt den Import-/Exportbefehlen.

Warnung

Die Verwendung von SqlPackage zum Bereitstellen eines SQL-Projekts oder von .dacpac in einer SQL-Datenbank in Fabric wird empfohlen. Die Bereitstellung einer .dacpac-Datei aus Visual Studio ist möglicherweise nicht erfolgreich.

Um eine .dacpac bereitzustellen, die aus Azure SQL-Datenbank, SQL Server oder einem SQL-Projekt für eine andere Plattform als SQL-Datenbank in Fabric erstellt wurde, fügen Sie die Eigenschaft /p:AllowIncompatiblePlatform=true an den SqlPackage-Veröffentlichungsbefehl an.