Freigeben über


Integration der SQL-Datenbank-Quellcodeverwaltung in Microsoft Fabric

Gilt für:SQL-Datenbank in Microsoft Fabric

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

Eine SQL-Datenbank in Microsoft Fabric verfügt über eine Integration der Quellcodeverwaltung oder "Git-Integration", sodass SQL-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 einzeln oder in Kombination verwendet werden 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:

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 in den Arbeitsbereichseinstellungen ausgewählten Verzweigung 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 übertragen Sie Datenbankobjekte in die 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 der Definitionen Ihrer Datenbankobjekte und können Git-Konzepte wie Verzweigung und Zusammenführung verwenden, um Ihren Entwicklungsprozess weiter 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 das Menü ... für die Datenbank aus, und wählen Sie Git-Synchronisierungsstatus aktualisieren aus.
  4. Wählen Sie die Schaltfläche Quellcodeverwaltung aus, um den Quellcodeverwaltungsbereich zu öffnen.
  5. 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.
  6. 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, können Sie diese Änderungen an der Quellcodeverwaltung übernehmen, indem Sie die vorherigen Schritte ausführen.

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 committen die Dateien dann an die Quellcodeverwaltung, bevor Sie die Fabric SQL-Datenbank aus der Quellcodeverwaltungsintegration aktualisieren. Dieses Szenario richtet sich an Entwickler, die lieber in Visual Studio Code arbeiten, vorhandene Anwendungen mit SQL-Projekten verwenden oder erweiterte CI/CD-Pipelineanforderungen haben.

  1. Stellen Sie sicher, dass Sie die neueste Version von Visual Studio Code und die mssql- und SQL-Projekte-Eweiterungen für VS Code installiert haben.
  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 der Verzweigung sollte ein Ordner mit dem Namen <yourdatabase>.SQLDatabase in VS Code angezeigt werden.
  5. Erstellen Sie eine .sql-Datei für mindestens eine Tabelle, die Sie in der Datenbank innerhalb der Ordnerstruktur für Ihre 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, können wir das Datenbankmodell mit dem SQL-Projekt überprüfen. Verwenden Sie nach dem Hinzufügen der Dateien die Ansicht „Datenbankprojekte” in VS Code, um das Projekt zu erstellen.
  7. Nach einem erfolgreichen Build committen Sie die Dateien mit der Quellcodeverwaltungsansicht in VS Code oder Ihrer bevorzugten lokalen Git-Schnittstelle.
  8. Pushen oder synchronisieren Sie Ihren Commit auf das Remote-Repository. Überprüfen Sie, ob Ihre neuen Dateien in Azure DevOps oder GitHub angezeigt wurden.
  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. Dies liegt daran, dass das Git-Integrationsfeature einen direkten Vergleich aller für eine Elementdefinition generierten Dateiinhalte durchführt und einige unbeabsichtigte Unterschiede möglich sind. 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, werden in der Datenbank angezeigt.

Hinweis

Wenn Änderungen am lokalen SQL-Projekt vorgenommen werden, wenn ein Syntaxfehler oder die Verwendung nicht unterstützter Features in Fabric vorliegt, schlägt die Datenbankaktualisierung fehl. 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 hat die Änderungen bestimmt, 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

Das quellcodeverwaltete SQL-Projekt kann auch, zum Bearbeiten in VS Code, Visual Studio oder anderen SQL-Projekttools, auf Ihren lokalen Rechner geklont werden. Das SQL-Projekt sollte lokal erstellt werden, um Änderungen zu validieren, bevor sie in die Versionskontrolle übernommen werden.

Erstellen eines Branch-Arbeitsbereichs

In diesem Szenario richten Sie eine neue Entwicklungsumgebung in Fabric ein, indem Sie einen doppelten Satz von Ressourcen basierend auf der Quellcodeverwaltungsdefinition erstellen. Die duplizierte Datenbank enthält die Datenbankobjekte, die wir 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 des Branches und des Arbeitsbereichs an, die erstellt werden. Die Branch wird im Quellcodeverwaltungs-Repository erstellt und mit den eingespielten Inhalten des Branches gefüllt, der mit dem Arbeitsbereich verbunden ist, von dem Sie verzweigen. Der Arbeitsbereich wird in Fabric erstellt.
  4. Navigieren Sie zu dem 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. Übertragen Sie diese Änderungen in die Quellenkontrolle mit der Schaltfläche Commit im Quellenkontrollbereich 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.