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
- Sie benötigen eine vorhandene Fabric-Kapazität. Falls dies nicht der Fall ist, können Sie eine Fabric-Testversion starten.
- Stellen Sie sicher, dass Sie die SQL-Datenbank in Fabric mithilfe von Mandanteneinstellungen aktivieren.
- Erstellen Sie einen neuen Arbeitsbereich, oder verwenden Sie einen vorhandenen Fabric-Arbeitsbereich.
- Erstellen Sie eine SQL-Datenbank in Fabric, oder verwenden Sie eine vorhandene. Wenn Sie noch keine haben, erstellen Sie eine neue SQL-Datenbank in Fabric.
- Installieren Sie das .NET 8 SDK.
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.
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.Erstellen Sie Ihre neue SQL-Datenbank in Fabric wie gewohnt über die Fabric-Schnittstelle.
Kopieren Sie die Verbindungszeichenfolge aus den Einstellungen.
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 derlocation
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
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.