Freigeben über


Integration der SQL-Datenbank-Quellcodeverwaltung in Microsoft Fabric

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.

Diagramm des einfachen Commit- und Aktualisierungszyklus zwischen der Livedatenbank und der Quellcodeverwaltung.

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:

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

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.

  1. 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.
  2. Erstellen Sie eine neue Tabelle, gespeicherte Prozedur oder ein anderes Objekt in der Datenbank.
  3. Wählen Sie die Schaltfläche Quellcodeverwaltung aus, um den Quellcodeverwaltungsbereich zu öffnen.
  4. 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.
  5. 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:

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.

  1. Stellen Sie sicher, dass Sie die neueste Version von Visual Studio Code und die MSSQL- und SQL-Projekterweiterungen für Visual Studio Code installieren.
  2. 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.
  3. 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.
  4. Ö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>.SQLDatabase in Visual Studio Code angezeigt werden.
  5. Erstellen Sie eine .sql Datei für mindestens eine Tabelle, die Sie in der Datenbank innerhalb der Ordnerstruktur für die Datenbank erstellen möchten. Die Datei sollte die CREATE TABLE-Anweisung für die Tabelle enthalten. Erstellen Sie z. B. eine Datei namens MyTable.sql im Ordner dbo/Tables mit folgendem Inhalt:
    CREATE TABLE dbo.MyTable
    (
        Id INT PRIMARY KEY,
        ExampleColumn NVARCHAR(50)
    );
    
  6. 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 .
  7. 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.
  8. Pushen oder synchronisieren Sie Ihren Commit auf das Remote-Repository. Überprüfen Sie, ob Ihre neuen Dateien in Azure DevOps oder GitHub angezeigt werden.
  9. 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.
  10. 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.

  1. 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.
  2. Ö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.
  3. 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.
  4. 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.

  1. 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.
  2. Überprüfen Sie diese Änderungen an der Quellcodeverwaltung mithilfe der Schaltfläche "Commit " in der Quellcodeverwaltung in Fabric.
  3. 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.
  4. 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.

  1. 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.Colors Tabelle verfügen, die von Ihrer Anwendung verwendet wird und einen bekannten Satz von Werten aufweist, die sich nicht häufig ändern.

  2. Erstellen Sie eine neue Abfrage im SQL-Datenbank-Editor in Fabric. Fügen Sie im Abfrage-Editor eine MERGE Anweisung zum Verwalten des Inhalts der Colors Tabelle 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;
    
  3. Benennen Sie die Abfrage um, Post-Deployment-StaticData.sql und verschieben Sie sie in Freigegebene Abfragen.

  4. 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.