Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 datenbank, die in Azure oder in Fabric verwaltet wird, stellt sicher, dass Ihre Daten auf anderen Plattformen portierbar sind, wenn Sie später migrieren möchten. - Portabilität umfasst die Übertragung von und von SQL Server, Azure SQL-Datenbank, azure SQL Managed Instance und SQL-Datenbank in Fabric über eigenständige Datenbankkopien (
.bacpac
oder.dacpac
Dateien).
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.
Konfiguration
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
A .bacpac
ist keine Sicherung oder ein Ersatz für Sicherungs-/Wiederherstellungsfunktionen. Weitere Informationen zu Sicherungen für SQL-Datenbank in Fabric finden Sie unter Automatische Sicherungen in SQL-Datenbank in Microsoft Fabric und Wiederherstellung aus einer Sicherung in sql-Datenbank in Microsoft Fabric.
Wenn Sie ein
.bacpac
aus einer Azure- oder SQL-Server-Umgebung verwenden, müssen Sie möglicherweise die Quelldatenbank anpassen, um den SQL-Datenbank-Fabric-T-SQL-Oberflächenbereich zu erreichen. Siehe Extrahieren und Veröffentlichen von Portabilität für eine alternative Methode, die es den SqlPackage-Eigenschaften ermöglicht, einige nicht unterstützte Objekte zu überspringen.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 /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-Datenbankprojekt erstellt 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.
Portabilität extrahieren und veröffentlichen
Während sich die SqlPackage-Import-/Exportbefehle auf die Datenübertragbarkeit mit dem .bacpac
Format konzentrieren, sind die Extrakt- und Veröffentlichungsbefehle in der Lage, die Datenübertragbarkeit mit dem .dacpac
Format zu ermöglichen. Eigenschaften zum Extrahieren und Veröffentlichen können verwendet werden, um das Verhalten der Extraktions- und Veröffentlichungsvorgänge zu steuern und mehr Flexibilität für Konvertierungen zwischen Plattformen zu bieten.
Verwenden Sie die /p:ExtractAllTableData=true
-Eigenschaft, um die Daten zu extrahieren und einzuschließen. Der Extraktvorgang erstellt ein Element .dacpac
, das sowohl das Schema als auch die Daten aus der Quelldatenbank enthält. Die Eigenschaft /p:ExtractReferencedServerScopedElements=false
schließt Serverbereichselemente aus, die in der SQL-Datenbank in Fabric nicht unterstützt werden. Der folgende Befehl extrahiert ein .dacpac
mit Daten aus einer vorhandenen SQL-Datenbank in Fabric.
sqlpackage /action:extract /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" /targetfile:"C:\extracted.dacpac" /p:ExtractAllTableData=true /p:ExtractReferencedServerScopedElements=false
Um ein mit den Daten extrahiertes Element .dacpac
zu veröffentlichen, sind keine zusätzlichen Eigenschaften erforderlich. Mehrere Eigenschaften können jedoch verwendet werden, um das Verhalten des Veröffentlichungsvorgangs zu steuern:
-
/p:AllowIncompatiblePlatform=true
ermöglicht die Bereitstellung einer.dacpac
, die aus einer anderen Plattform extrahiert wurde (z. B. Azure SQL-Datenbank, SQL Server). -
/p:ExcludeObjectTypes=Logins;Users
schließt Objekttypen aus, die beim Veröffentlichen in sql-Datenbank in Fabric Kompatibilitätsprobleme verursachen können. Eine vollständige Liste der Objekttypen, die ausgeschlossen werden können, finden Sie unter "SqlPackage publish".
Ähnlich wie beim SqlPackage-Import-Befehl müssen Sie, bevor etwas auf eine SQL-Datenbank in Fabric veröffentlicht wird, die Datenbank in Fabric erstellen. Sie können die Datenbank über das Fabric-Portal oder eine andere Fabric-Schnittstelle erstellen. Der folgende Befehl veröffentlicht den extrahierten .dacpac
in einer leeren SQL-Datenbank in Fabric:
sqlpackage /action:publish /sourcefile:"C:\extracted.dacpac" /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" /p:AllowIncompatiblePlatform=true /p:ExcludeObjectTypes=Logins;Users