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 Lernprogramm erfahren Sie, wie Sie mit Ihrer SQL-Datenbank in Fabric mithilfe der Fabric-Git-Integrations-Quellcodeverwaltung arbeiten.
Eine SQL-Datenbank in Microsoft Fabric verfügt über die Integration der Quellcodeverwaltung oder "Git-Integration", sodass Benutzer die Definitionen ihrer Datenbankobjekte im Laufe der Zeit nachverfolgen können. Diese Integration ermöglicht es Teams:
- Übernehmen Sie die Datenbank in die Quellcodeverwaltung, wodurch die Livedatenbank automatisch in Code im konfigurierten Quellcodeverwaltungsrepository (z. B. Azure DevOps) konvertiert wird.
- Datenbankobjekte anhand der Inhalte aus der Quellcodeverwaltung zu aktualisieren, wodurch der Code im Quellcodeverwaltungsrepository validiert wird, bevor eine differenzielle Änderung auf die Datenbank angewendet wird.
Wenn Sie mit Git nicht vertraut sind, finden Sie hier einige empfohlene Ressourcen:
Dieser Artikel enthält eine Reihe nützlicher Szenarien, die Sie einzeln oder in Kombination verwenden können, um Ihren Entwicklungsprozess mit SQL-Datenbank in Fabric zu verwalten:
- Konvertieren der Fabric SQL-Datenbank in Code in der Quellcodeverwaltung
- Aktualisieren der Fabric SQL-Datenbank aus der Quellcodeverwaltung
- Branch-Workspace erstellen
- Zusammenführen von Änderungen von einem Branch in einen anderen
- Verwalten statischer Daten mit einem Skript nach der Bereitstellung
Die Szenarien in diesem Artikel werden in einer Folge von Data Exposed behandelt. Sehen Sie sich das Video an, um eine Übersicht über die Integration der Quellcodeverwaltung in Fabric zu erfahren:
Hinweis
Einstellungen auf Datenbankebene, z. B. Sortierung und Kompatibilitätsstufe, sind zurzeit nicht in der Integration der Quellcodeverwaltungs- und Bereitstellungspipeline enthalten. Für Datenbankeinstellungen, die Sie nach der Datenbankerstellung mithilfe von T-SQL festlegen können, können Sie die Datenbank mit Skripts nach der Bereitstellung ändern.
Voraussetzungen
- Sie benötigen eine vorhandene Fabric-Kapazität. Falls dies nicht der Fall ist, können Sie eine Fabric-Testversion starten.
- Setllen Sie sicher, dass Sie die Mandanteneinstellungen für die Git-Integration 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.
- Optional: Installieren Sie Visual Studio Code, die MSSQL-Erweiterung und die SQL-Projekteerweiterung für VS Code.
Einrichtung
Diese Repositoryverbindung gilt auf Arbeitsbereichsebene, sodass eine einzelne Verzweigung im Repository diesem Arbeitsbereich zugeordnet ist. Das Repository kann mehrere Verzweigungen aufweisen, aber nur der Code in der Verzweigung, die in den Arbeitsbereichseinstellungen ausgewählt ist, wirkt sich direkt auf den Arbeitsbereich aus.
Schritte zum Verbinden Ihres Arbeitsbereichs mit einem Quellcodeverwaltungsrepository finden Sie unter Erste Schritte mit der Git-Integration. Ihr Arbeitsbereich kann mit einem Azure DevOps oder GitHub Remote-Repository verbunden werden.
Hinzufügen der Fabric SQL-Datenbank zur Quellcodeverwaltung
In diesem Szenario übernehmen Sie Datenbankobjekte zur Quellcodeverwaltung. Möglicherweise entwickeln Sie eine Anwendung, in der Sie Objekte direkt in einer Testdatenbank erstellen und diese Datenbank in der Quellcodeverwaltung nachverfolgen, genau wie Ihren Anwendungscode. Daher haben Sie Zugriff auf den Verlauf Ihrer Datenbankobjektdefinitionen und können Git-Konzepte wie Verzweigung und Zusammenführung verwenden, um Ihren Entwicklungsprozess anzupassen.
- Verbinden Sie sich mit Ihrer SQL-Datenbank im Fabric-SQL-Editor, im SQL Server Management Studio, in der MSSQL-Erweiterung für Visual Studio Code oder anderen externen Tools.
- Erstellen Sie eine neue Tabelle, gespeicherte Prozedur oder ein anderes Objekt in der Datenbank.
- Wählen Sie die Schaltfläche Quellcodeverwaltung aus, um den Quellcodeverwaltungsbereich zu öffnen.
- Aktivieren Sie das Kontrollkästchen neben der gewünschten Datenbank. Klicken Sie auf Commit. Der Fabric-Dienst liest Objektdefinitionen aus der Datenbank und schreibt sie in das Remoterepository.
- Sie können nun den Verlauf von Datenbankobjekten in der Quellansicht des Coderepositorys anzeigen.
Wenn Sie die Datenbank weiterhin bearbeiten, einschließlich der Bearbeitung vorhandener Objekte, übernehmen Sie diese Änderungen an der Quellcodeverwaltung, indem Sie die vorherigen Schritte ausführen.
SQL-Projektdatei
Die SQL-Projektdatei im Quellcodeverwaltungsrepository enthält Metadaten zur Datenbank. Die Fabric-Quellcodeverwaltungsintegration verwendet diese Datei, um mehr Funktionen in quellcodeverwaltungs- und Bereitstellungspipelinen zu integrieren. Die Fabric-Quellcodeverwaltungsintegration generiert und aktualisiert die Projektdatei automatisch. Vermeiden Sie manuelle Bearbeitungen an der Projektdatei, da Ihre Bearbeitungen in der Projektdatei durch die Fabric-Quellcodeverwaltungsintegration beim nächsten Commit von Fabric überschrieben werden. Wenn Sie jedoch ein SQL-Projekt lokal mithilfe von SQL-Tools wie SQL Server Management Studio oder der SQL-Projekterweiterung für Visual Studio Code erstellen möchten, können Sie der Datei in der master.dacpac Projektdatei einen Verweis hinzufügen.
Die Fabric-Integration in SQL-Projekte fügt der Projektdatei diese Metadateneigenschaften hinzu:
- Schließt den
.sharedQueriesOrdner aus dem Datenbankprojektbuild aus. Mit diesem Ausschluss können Sie die Skripts in der Quellcodeverwaltung nachverfolgen, ohne dass die Datenbankmodellüberprüfung beeinträchtigt wird. - Skripts vor der Bereitstellung und nach der Bereitstellung aus dem Ordner ".sharedQueries"
- Systemobjektverweise als Paketverweis auf die Datei "master.dacpac"
Die Funktion für Systemobjektverweise wird automatisch ohne erforderliche Aktion eingerichtet. Der Fabric-Abfrage-Editor stellt Skripts vor der Bereitstellung und nach der Bereitstellung im Ordner "Freigegebene Abfragen " bereit.
Aktualisieren der Fabric SQL-Datenbank aus der Quellcodeverwaltung
In diesem Szenario erstellen Sie Datenbankobjekte als Code in der SQL-Projekterweiterung in Visual Studio Code und übernehmen dann die Dateien zur Quellcodeverwaltung, bevor Sie die Fabric SQL-Datenbank aus der Quellcodeverwaltungsintegration aktualisieren. Dieses Szenario richtet sich an Entwickler, die es vorziehen, in Visual Studio Code zu arbeiten, vorhandene Anwendungen mit SQL-Projekten zu verwenden oder erweiterte CI/CD-Pipelineanforderungen zu erfüllen.
- Stellen Sie sicher, dass Sie die neueste Version von Visual Studio Code und die MSSQL- und SQL-Projekterweiterungen für Visual Studio Code installieren.
- Verwenden Sie die integrierte Git-Quellcodeverwaltung von Visual Studio Code.
- Erstellen Sie eine neue SQL-Datenbank in Ihrem Arbeitsbereich, und committen Sie sie an die Quellcodeverwaltung, ohne Objekte hinzuzufügen. In diesem Schritt werden dem Repository die leeren SQL-Projekt- und SQL-Datenbankelementmetadaten hinzugefügt.
- Klonen Sie das Quellcodeverwaltungsrepository auf Ihrem lokalen Computer.
- Wenn Sie Azure DevOps verwenden, wählen Sie das Kontextmenü
...für das Quellcodeverwaltungsprojekt aus. Wählen Sie Clone aus, um Ihr Azure DevOps Repository auf Ihren lokalen Computer zu kopieren. Wenn Sie noch nicht mit Azure DevOps vertraut sind, sehen Sie den Leitfaden Code mit git für Azure DevOps. - Wenn Sie GitHub verwenden, wählen Sie die Schaltfläche Code im Repository aus, und kopieren Sie die URL, um das Repository auf Ihren lokalen Computer zu klonen. Wenn Sie noch nicht mit GitHub arbeiten, lesen Sie den Leitfaden cloning eines Repositorys.
- Wenn Sie Azure DevOps verwenden, wählen Sie das Kontextmenü
- Öffnen Sie den geklonten Ordner in Visual Studio Code. Die dem Arbeitsbereich zugeordnete Zweig ist möglicherweise nicht der Standardzweig. Nach dem Wechseln des Branches sollte ein Ordner mit dem Namen
<yourdatabase>.SQLDatabasein Visual Studio Code angezeigt werden. - Erstellen Sie eine
.sqlDatei für mindestens eine Tabelle, die Sie in der Datenbank innerhalb der Ordnerstruktur für die Datenbank erstellen möchten. Die Datei sollte dieCREATE TABLE-Anweisung für die Tabelle enthalten. Erstellen Sie z. B. eine Datei namensMyTable.sqlim Ordnerdbo/Tablesmit folgendem Inhalt:CREATE TABLE dbo.MyTable ( Id INT PRIMARY KEY, ExampleColumn NVARCHAR(50) ); - Um sicherzustellen, dass die Syntax gültig ist, überprüfen Sie das Datenbankmodell mit dem SQL-Projekt. Verwenden Sie nach dem Hinzufügen der Dateien die Ansicht "Datenbankprojekte" in Visual Studio Code, um das Projekt zu erstellen .
- Führen Sie nach einem erfolgreichen Build einen Commit für die Dateien zur Quellcodeverwaltung mithilfe der Quellcodeverwaltungsansicht in Visual Studio Code oder Ihrer bevorzugten lokalen Git-Schnittstelle durch.
- Pushen oder synchronisieren Sie Ihren Commit auf das Remote-Repository. Überprüfen Sie, ob Ihre neuen Dateien in Azure DevOps oder GitHub angezeigt werden.
- Kehren Sie zur Fabric-Webschnittstelle zurück, und öffnen Sie den Bereich Quellcodeverwaltung im Arbeitsbereich. Möglicherweise verfügen Sie bereits über eine Benachrichtigung, dass Sie ausstehende Änderungen von Git haben. Wählen Sie die Schaltfläche Aktualisieren (Alle aktualisieren) aus, um den Code aus Ihrem SQL-Projekt auf die Datenbank anzuwenden.
- Möglicherweise sehen Sie, dass die Datenbank nach dem Update sofort als „Nicht committet“ angezeigt wird. Dieser Zustand tritt auf, da das Git-Integrationsfeature einen direkten Vergleich aller dateiinhalte ausführt, die für eine Elementdefinition generiert wurden, und einige unbeabsichtigte Unterschiede sind möglich. Ein Beispiel hierfür sind Inlineattribute für Spalten. In diesen Fällen müssen Sie auf die Quellcodeverwaltung in der Fabric-Webschnittstelle zurückkehren, um die Definition mit dem zu synchronisieren, was als Teil eines Commitvorgangs generiert wird.
- Nachdem das Update abgeschlossen ist, verwenden Sie ein Tool Ihrer Wahl, um eine Verbindung mit der Datenbank herzustellen. Die Objekte, die Sie dem SQL-Projekt hinzugefügt haben, sind in der Datenbank sichtbar.
Hinweis
Wenn Sie Änderungen am lokalen SQL-Projekt vornehmen, schlägt die Datenbankaktualisierung fehl, wenn ein Syntaxfehler oder die Verwendung nicht unterstützter Features in Fabric vorliegt. Sie müssen die Änderung in der Quellcodeverwaltung manuell wiederherstellen, bevor Sie fortfahren können.
Das Aktualisieren einer SQL-Datenbank in Fabric aus der Quellcodeverwaltung kombiniert einen SQL-Projektbuild und einen SqlPackage-Veröffentlichungsvorgang. Der SQL-Projektbuild überprüft die Syntax der SQL-Dateien und generiert eine .dacpac Datei. Der SqlPackage-Veröffentlichungsvorgang bestimmt die Änderungen, die erforderlich sind, um die Datenbank entsprechend der .dacpac Datei zu aktualisieren. Aufgrund der optimierten Art der Fabric-Schnittstelle werden die folgenden Optionen auf den SqlPackage-Veröffentlichungsvorgang angewendet:
/p:ScriptDatabaseOptions = false/p:DoNotAlterReplicatedObjects = false/p:IncludeTransactionalScripts = true/p:GenerateSmartDefaults = true
Sie können das versionsgesteuerte SQL-Projekt auch auf Ihren lokalen Computer klonen, um es in Visual Studio Code, SQL Server Management Studio oder anderen SQL-Projekttools zu bearbeiten. Erstellen Sie das SQL-Projekt lokal, um Änderungen zu überprüfen, bevor Sie sie zur Quellcodeverwaltung verpflichten.
Erstellen eines Branch-Arbeitsbereichs
In diesem Szenario richten Sie eine neue Entwicklungsumgebung in Fabric ein, indem Sie fabric basierend auf der Quellcodeverwaltungsdefinition einen doppelten Satz von Ressourcen erstellen. Die duplizierte Datenbank enthält die Datenbankobjekte, die Sie in die Quellcodeverwaltung eingecheckt haben. Dieses Szenario richtet sich an Entwickler, die ihren Anwendungsentwicklungslebenszyklus in Fabric fortsetzen und die Quellcodeverwaltungsintegration von Fabric nutzen.
- Schließen Sie das Szenario Konvertieren der Fabric SQL-Datenbank in Code in der Quellcodeverwaltung ab.
- Sie sollten über eine Verzweigung in einem Quellcodeverwaltungsrepository verfügen, wobei sowohl ein SQL-Projekt als auch die Fabric-Objektmetadaten vorhanden sind.
- Öffnen Sie im Fabric-Arbeitsbereich den Bereich Quellcodeverwaltung. Wählen Sie auf der Registerkarte „Verzweigungen” des Menüs Quellcodeverwaltung die Option In neuen Arbeitsbereich verzweigen aus.
- Geben Sie die Namen der zu erstellenden Branch und des Arbeitsbereichs an. Die Verzweigung wird im Quellcodeverwaltungs-Repository erstellt und wird mit dem zugesicherten Inhalt der Verzweigung des Arbeitsbereichs ausgefüllt, von dem Sie verzweigen. Der Arbeitsbereich wird in Fabric erstellt.
- Wechseln Sie zum neu erstellten Arbeitsbereich in Fabric. Nach Abschluss der Datenbankerstellung enthält die neu erstellte Datenbank jetzt die in Ihrem Coderepo angegebenen Objekte. Wenn Sie den Fabric-Abfrage-Editor öffnen und im Objekt-Explorer navigieren, verfügt die Datenbank über neue (leere) Tabellen und andere Objekte.
Zusammenführen von Änderungen von einem Zweig in einen anderen
In diesem Szenario verwenden Sie das Quellcodeverwaltungsrepository, um Datenbankänderungen zu überprüfen, bevor sie für die Bereitstellung verfügbar sind. Dieses Szenario richtet sich an Entwickler, die in einer Teamumgebung arbeiten und die Quellcodeverwaltung zum Verwalten ihrer Datenbankänderungen verwenden.
Erstellen Sie zwei Arbeitsbereiche mit zugeordneten Verzweigungen im selben Repository, wie im vorherigen Szenario beschrieben.
- Nehmen Sie mit der Datenbank auf dem sekundären Zweig Änderungen an den Datenbankobjekten vor.
- Ändern Sie beispielsweise eine vorhandene gespeicherte Prozedur, oder erstellen Sie eine neue Tabelle.
- Überprüfen Sie diese Änderungen an der Quellcodeverwaltung mithilfe der Schaltfläche "Commit " in der Quellcodeverwaltung in Fabric.
- Erstellen Sie in Azure DevOps oder GitHub eine Pullanforderung aus der sekundären Verzweigung bis zur primären Verzweigung.
- In der Pull Request können Sie die Änderungen im Datenbankcode zwischen dem primären Arbeitsbereich und dem sekundären Arbeitsbereich sehen.
- Nachdem Sie die Pull Request abgeschlossen haben, wird die Quellcodeverwaltung aktualisiert, die Datenbank in Fabric im primären Arbeitsbereich wird jedoch nicht mehr geändert. Um die primäre Datenbank zu ändern, aktualisieren Sie den primären Arbeitsbereich aus der Quellcodeverwaltung mithilfe der Schaltfläche Aktualisieren in der Quellcodeverwaltung in Fabric.
Verwalten statischer Daten mit einem Skript nach der Bereitstellung
In diesem Szenario steuern Sie die Zeilen in einer Nachschlagetabelle in Ihrer Datenbank mit Quellcodeverwaltung. Die Funktion, die diese Funktionalität, Vorbereitstellungs- und Bereitstellungsskripts ermöglicht, gilt auch für Bereitstellungspipelinen, sodass Sie dieselben Skripts verwenden können, um statische Daten in beiden Szenarien zu verwalten.
Identifizieren oder erstellen Sie aus einer SQL-Datenbank in Fabric, die mit der Quellcodeverwaltung verbunden ist, eine Tabelle, für die Sie statische Daten verwalten möchten. Sie können z. B. über eine
dbo.ColorsTabelle verfügen, die von Ihrer Anwendung verwendet wird und einen bekannten Satz von Werten aufweist, die sich nicht häufig ändern.Erstellen Sie eine neue Abfrage im SQL-Datenbank-Editor in Fabric. Fügen Sie im Abfrage-Editor eine
MERGEAnweisung zum Verwalten des Inhalts derColorsTabelle hinzu. Beispiel:MERGE dbo.Colors AS target USING (VALUES (1, 'Red'), (2, 'Green'), (3, 'Blue') ) AS source (Id, Name) ON target.Id = source.Id WHEN MATCHED THEN UPDATE SET Name = source.Name WHEN NOT MATCHED BY TARGET THEN INSERT (Id, Name) VALUES (source.Id, source.Name) WHEN NOT MATCHED BY SOURCE THEN DELETE;Benennen Sie die Abfrage um,
Post-Deployment-StaticData.sqlund verschieben Sie sie in Freigegebene Abfragen.Wählen Sie einmal in freigegebenen Abfragen das Menü ... für die Abfrage aus, und wählen Sie "Als Skript nach der Bereitstellung festlegen" aus.
Diese Abfrage wird automatisch als Teil einer Aktualisierung aus der Quellcodeverwaltung oder Bereitstellungspipelinebereitstellung ausgeführt, sodass Sie die statischen Daten in der Tabelle mithilfe der Colors Quellcodeverwaltung verwalten können. Sie können die Abfrage im Fabric-Abfrage-Editor bearbeiten und Änderungen an der Quellcodeverwaltung übernehmen, um Änderungen an den statischen Daten im Laufe der Zeit zu verwalten. Da Skripts vor der Bereitstellung und nach der Bereitstellung im SQL-Projekt enthalten sind, können Sie die Abfrage auch von Ihrem lokalen Computer aus bearbeiten, indem Sie Visual Studio Code oder andere SQL-Projekttools verwenden, und dann diese Änderungen an der Quellcodeverwaltung übernehmen. Weitere Informationen zu Skripts vor der Bereitstellung und nach der Bereitstellung finden Sie in der Dokumentation zu SQL-Projekten.