Blog

Fabric: SQL Datenbankentwicklung mit Azure DevOps und Visual Studio

Microsoft Fabric hat seinen neuesten Service released. Fabric Databases. Dieser Blogbeitrag beschäftigt sich mit der Fragestellung, wie SQL Datenbanken in einem Fabric Workspace mit Tools wie Azure DevOps und Visual Studio entwickelt und administriert werden können.

Was ist Fabric?

Microsoft Fabric ist eine Analyseplatform, die verschiedene Services wie ETL, Data Science, Datenvisualisieung und jetzt auch SQL Datenbanken vereint. Dadurch stellt Microsoft eine benutzerfreundliche und einfache Lösung zur Verwaltung und Auswertung von Daten zur Verfügung.

Wenn Sie mehr über Fabric erfahren möchten, lesen Sie gerne unseren Blogbeitrag “Was ist Microsoft Fabric?”.

Fabric Workspace

In Fabric können Workspaces erstellt werden, um zusammengehörige Fabric Objekte wie Pipelines, Databases oder PowerBI Reports zu einer Einheit zu bündeln. Dies erhöht die Übersichtlichkeit und ermöglicht eine effiziente Organisation verschiedener Komponenten. Außerdem können über Workspaces Berechtigungsregeln definiert, Teamstruktren aufgebaut oder Entwicklungsumgebungen in dev, test und prod unterteilt werden. Innerhalb eines Workspaces können alle verschiedenen Fabric Services genutzt werden und miteinander interagieren.

Seit Neustem können in einem Fabric Workspace auch Datenbanken anlegt werden. Fabric Databases basieren auf Azure SQL-Datenbanken und ermöglichen das einfache Erstellen und Administrieren einer operativen Datenbank in der Cloud.

Durch die Git-Integration in Fabric können Arbeitsbereiche in Git verwaltet und Git-Repositorys für die Versionskontrolle verwendet werden.

Dieser Prozess wird im folgenden Beispiel unter Verwendung von Azure DevOps und Visual Studio erklärt.

Azure DevOps ist eine Microsoft-Platform, die die Zusammenarbeit an Projekten und Prozessen erleichtert. Unter anderem bietet Azure DevOps Tools zur Versionskontrolle wie Git oder Team Foundation Version Control (TFVC). Diese ermöglichen die Verfolgung und Integration von Änderungen im Quellcode, die Erstellung von Branches oder die Verwaltung von Pull-Requests. Im Folgenden werden wir mit Git-Repositorys arbeiten.

Visual Studio ist eine integrierte Entwicklungsumgebung (IDE) von Microsoft. Mit Visual Studio können Anwendungen in verschiedenen Programmiersprachen entwickelt und administriert werden, so auch SQL-Datenbanken in Fabric. Die Versionierung erfolgt über Anbindung von Git.

Zusammengefasst bieten Azure DevOps, Fabric SQL-Datenbanken und Visual Studio eine integrierte Plattform für die Entwicklung, Verwaltung und Bereitstellung von Anwendungen und Datenbanken, die eine nahtlose Zusammenarbeit und effiziente Arbeitsabläufe ermöglicht.

Von der Theorie zur Praxis

Der folgende Anwendungsfall beschreibt anschaulich, wie Sie mit Azure DevOps und Visual Studio eine Fabric SQL Database erstellen und verwalten können.

Benötigt:

  • Fabric Capacity (kostenlose Testversion genügt vorerst)

Wir starten in Azure DevOps: Unter https://dev.azure.com/ wählen sie eine bestehende Organisation oder erstellen und eine neue. Sie werden aufgefordert, ein neues Projekt zu erstellen.

Wenn Sie ihr Projekt erstellt haben, sollten Sie den Main Branch mit einer README und einem .gitignore initialisieren. Dafür steuern Sie zu Repos und dann Branches, wählen Add a README und Add a .gitignore: VisualStudio aus und initialisieren den Branch. README dient ihrer Projekt-Dokumentation, .gitignore sorgt dafür, dass bestimmte Dateien ignoriert und damit nicht commited werden, bspw. Build-Artefakte und maschinell generierte Dateien.

Nun erstellen wir in Fabric Databases einen neuen Arbeitsbereich und verbinden diesen mit Azure DevOps. Wenn Sie nicht mehr als drei Datenbanken erstellen möchten, genügt eine Fabric Test-Capacity, ansonsten ist eine Fabric-Capacity notwendig. Diese müssen Sie dem entsprechenden Arbeitsbereich unter den Arbeitsbereichseinstellungen zuweisen.

Um nun den Workspace mit Azure DevOps zu verbinden, finden Sie ebenfalls in den Arbeitsbereichseinstellungen den Reiter Git-Integration, hier wählen Sie Azure DevOps als Git-Anbieter aus und verbinden sich mit ihrem AAD-Konto.

Wählen Sie ihre DevOps Organisation, ihr Projekt, ihr Git-Repository und den main Branch aus und klicken Sie Verbinden und Synchronisieren.

Nun haben Sie einen Fabric Workspace erstellt und diesen mit ihrem Git-Repository verbunden. Als nächstes möchten wir eine Fabric Database erstellen. Dazu wählen Sie in ihrem Arbeitsbereich Neues Element und suchen nach SQL database (aktuell noch in der preview). Hier geben Sie den gewünschten Datenbanknamen ein und erstellen ihr Datenbank.

Um Änderungen an ihrem Datenbankobjekt vorzunehmen, haben Sie verschiedene Tools zur Auswahl:

  • Fabric SQL DB Web-Oberfläche
  • Visual Studio
  • Visual Studio Code
  • SQL Server Management Studio


Ihr Datenbank enthält noch keine Daten, aber Sie haben die Möglichkeit, direkt über die Fabric Web-Oberfläche die Microsoft Adventure Works Beispieldaten in ihre Datenbank zu laden. Wählen Sie dazu ihre Datenbank aus und klicken Sie auf Beispieldaten laden. Der Import kann einige Minuten dauern, ändern Sie ihre Datenbank währenddessen nicht.

Sie müssen natürlich nicht die Beispieldatenbank verwenden - Sie können ihre eigenen Schemata, Tabellen, Stored Procedures usw. erstellen oder andere Datenquellen anbinden. Dieser Schritt dient lediglich Anschauungszwecken. Sollten Sie ihre eigene Datenbank entwickeln wollen, können Sie dies analog zu weiter unten gezeigten Schritten in Visual Studio tun.

Wir verwenden das Visual Studio als Entwicklungsumgebung, um unsere Datenbank zu verwalten.

Falls Sie Visual Studio noch nicht installiert haben, können Sie es hier herunterladen. Öffnen Sie Visual Studio und wählen Sie Repository klonen.

Unter Repository durchsuchen wählen Sie Azure DevOps, wählen die gewünschte Datenbank aus und klonen diese. Sie werden aufgefordert, sich mit ihren Microsoft Daten einzuloggen.

Visual Studio:

Wenn sie auf den rechten Seite den Projektmappenexplorer öffnen, werden Sie nur die .gitignore und die README.md Datei sehen. Das liegt daran, dass die Änderung in der Datenbank, also das Einfügen der Adventureworks-Daten in der Web-Oberfläche, noch nicht commitet wurde.

Hierzu gehen Sie zurück in Ihren Fabric Workspace auf Quellcodeverwaltung. Hier wird ihnen bereits durch die rote 1 angezeigt, dass es eine nicht-commitete Änderung gibt. Wählen das geänderte Objekt aus, fügen einen Commitnachricht hinzu und Commiten die Änderung.

Dadurch wird ihre Änderung im Git-Repository gespeichert und Sie müssen sie nur noch ins Visual Studio übernehmen. Dazu klicken Sie unten rechts, unter Projektmappen-Explorer-Ordneransicht auf die beiden Pfeile und wählen Pull aus.

Nach erfolgreichem Pull sehen Sie im Projektmappen-Explorer nun auch die Beispieldaten, die Sie bereits in der Fabric Web-Oberfläche angelegt haben.

Jetzt können Sie ihre Datenbank nach ihren eigenen Bedürfnissen erstellen. Per Doppelklick auf die Datenbank-Objekte gelangen Sie zu den SQL Code und können diese ändern oder ergänzen.

Im Folgenden Beispiel haben wir der Tabelle Adress.sql die Spalte Housenumber hinzugefügt und gespeichert. Diese Änderung ist bisher nur lokal im Visual Studio. Um die Änderung in den Quellcode zu übertragen, muss diese commited und gepushed werden. Unten rechts neben dem Bleistift Symbol sehen Sie eine 1. Dies bedeutet, dass es eine Änderung im Visual Studio gibt, die noch nicht commited wurde. Klicken Sie auf das Symbol, fügen Sie eine Commitnachricht ein und wählen Commit für Alle. Dadurch wird der Commit lokal erstellt.

Um diesen Commit auf die Datenbank zu übertragen, klicken sie links neben dem Bleistift auf die beiden Pfeilen und wählen Push.

Dadurch wurden die Änderungen an ihr Git-Repository übertragen. Um diese Änderungen in der Datenbank in der Web-Oberfläche zu sehen, müssen sie nur noch ihren Fabric Workspace mit ihrem Git Repository synchronisieren.

Dafür wechseln Sie erneut zur Quellcodeverwahltung in ihrem Fabric Arbeitsbereich, und wählen Alle aktualisieren im Reiter Updates aus.

Nach dem Aktualisieren können Sie unter dem Reiter Updates das geänderte Objekt auswählen und committen.

In ihrer Datenbank haben sie die Möglichkeit, eine Vorschau ihrer Daten anzeigen zu lassen. Hier sehen Sie, dass die Spalte Housenumber erstellt wurde. Um die Spalte mit Daten zu befüllen, können Sie direkt in dieser Ansicht eine neue SQL Abfrage schreiben.

Auf diese Weise können Sie mit Azure DevOps und Visual Studio Fabric SQL Datenbanken erstellen und administrieren. Ihre Git Repositorys liefern dabei das Tool für die Versionierung, das Fabric und Visual Studio miteinander verbindet. Diese Tools liefern einen guten Ansatz, um gemeinsam an Projekten zu arbeiten und ungewolltem Datenverlust vorzubeugen.

[Ausblick]

Wenn Sie ihre Datenbank mit Visual Studio administrieren, werden erst Änderungen mit dem Commit in der Fabric Web Oberfläche im Quellcode geändert.

Falls sie statt Visual Studio lieber das SQL Server Management Studio verwenden, ist das Verhalten ein anderes. Hier werden Änderungen direkt im Quellcode vorgenommen. Bisher (Version: SSMS 20) ist eine direkte Verbindung zu einem Git Repository nicht möglich, d.h. um Änderungen zu synchronisieren und eine Versionsverwaltung nutzen zu können, sind manuelle Schritte erforderlich.

Fazit

Durch die Einbindung einer Datenbank wird Farbic noch attraktiver und wirklich zu einer All-in-One Analytics Lösung. Von andern Fabric-Services kann direkt auf die Datenbank zugegriffen werden und es müssen keine verschiedenen Dienste von verschiedenen Anbietern kombiniert werden. Stattdessen liefert Fabric ein hochgradig integriertes, benutzerfreundliches Analytics-Produkt.

Wenn Sie mehr über das Thema Microsoft Fabric und dessen Implementierung erfahren möchten, kontaktieren Sie uns gerne über unser Kontaktformular! Wir helfen gerne weiter.

Interesse geweckt?
Vielen Dank! Wir haben Ihre Anfrage erhalten!
Oops! Beim Senden ist etwas schiefgegangen, versuche es erneut.