Yet another SQL Tool?

Azure Data Studio: Eine Alternative zu SQL Server Management Studio und Data Tools
Keine Kommentare

Das Azure Data Studio ist bereits seit einiger Zeit verfügbar, aber dennoch nur wenigen bekannt. Einer der Gründe dafür könnte im Namenswechsel des Tools liegen, das ursprünglich unter dem Namen „SQL Operations Studio“ entwickelt wurde. Dabei ist das „Azure“ in der neuen Bezeichnung irreführend.

Das Azure Data Studio ist eine interessante Alternative zu den deutlich verbreiteteren SQL Server Data Tools und dem SQL Server Management Studio. Interessant wird es vor allem, weil mit dem neuen Tool einige Features angeboten werden, die es in den bisherigen Tools nicht gibt, beispielsweise die Unterstützung von Jupyter Notebooks und zusätzlicher Betriebssysteme wie Linux und macOS.

Bisher war das SQL Server Management Studio das Tool der Wahl zur SQL-Entwicklung und -Administration, seitdem es mit SQL Server 2005 den Enterprise Manager ablöste hat. Für die Arbeit mit Datenbankprojekten kamen Visual Studio Database Edition und für BI-Projekte das Business Intelligence Development Studio hinzu, die später beide unter der Bezeichnung SQL Server Data Tools zusammengeführt wurden.

BASTA! 2020

Entity Framework Core 5.0: Das ist neu

mit Dr. Holger Schwichtenberg (www.IT-Visions.de/5Minds IT-Solutions)

Memory Ownership in C# und Rust

mit Rainer Stropek (timecockpit.com)

Softwarearchitektur nach COVID-19

mit Oliver Sturm (DevExpress)

Bereits im November 2017 erschienen die erste Public Preview des SQL Operations Studio, das als „light-weight tool for modern database development and operations“ angepriesen wurde. Mit dem Erscheinen der ersten finalen Version im September 2018 wurde der Name in Azure Data Studio geändert, um die Möglichkeit zu unterstreichen, damit auch Datenbanken und Instanzen in der Microsoft-Azure-Cloud zu verwalten. Dem Namen zum Trotz kann das Azure Data Studio jedoch genauso gut verwendet werden, um mit SQL Servern im lokalen Netzwerk zu arbeiten.

Download und Installation

Die Einrichtung des Azure Data Studios gestaltet sich denkbar einfach. Genau wie mittlerweile auch das SQL Server Management Studio ist das Azure Data Studio unabhängig von der Serverinstallation als kostenfreier Download erhältlich und wird deutlich häufiger aktualisiert als die Serverkomponenten. Zurzeit erscheint jeden Monat eine neue Version.

Über den Downloadlink kann man das Azure Data Studio in verschiedenen Varianten beziehen. Neben den Versionen für Linux und macOS steht die Windows-Variante sogar in verschiedenen Ausprägungen zum Download bereit. Darunter befinden sich ein Systeminstallationsprogramm (benötigt lokale Adminrechte), ein Benutzerinstallationsprogramm (wird im Kontext des gerade angemeldeten Users installiert) sowie eine ZIP-Datei. Letztere stellt die unkomplizierteste Art dar, das Azure Data Studio lokal einzurichten. Die ZIP-Datei (ca. 136 MB) muss lediglich in einen beliebigen Ordner auf dem lokalen Rechner installiert werden, wofür etwa 433 MB benötigt werden. Anschließend lässt sich das Azure Data Studio durch Aufruf der Datei azuredatastudio.exe starten. Diese Art der Installation bringt den Vorteil mit sich, dass man das Azure Data Studio durch Löschen des Ordners auch schnell wieder entfernen kann, wenn man es nicht mehr brauchen sollte. Prinzipiell ist es sogar möglich, das Azure Data Studio von einem USB-Stick aus zu starten, sofern das von administrativer Seite nicht durch entsprechende Policies verhindert wird.

Oberfläche und Data Explorer

Nach dem Start zeigt sich das Tool mit einer sehr aufgeräumten Oberfläche, die Anwendern von Visual Studio Code gleich bekannt vorkommen wird, da dieselbe technologische Basis verwendet wird (Abb. 1). Am linken Rand ist eine schlicht gehaltene Symbolleiste zu sehen, deren wichtigster Punkt – der Data Explorer – gleich zu Anfang steht. Darunter folgen eine Suchfunktion (mit der sich Dateien im Filesystem durchsuchen lassen), ein Dateiexplorer, ein Symbol für die Quellcodeverwaltung sowie die Extensions. Etwas abgesetzt am unteren Ende folgt noch ein Symbol, mit dem verschiedene Einstellungen vorgenommen werden können. Den Hauptteil des Bildschirms belegt zu Beginn das Willkommen-Fenster, in dem Links zum Öffnen einer neuen Verbindung, Abfrage oder eines Notebooks, die zuletzt geöffneten Dokumente sowie Verweise auf weitere Hilfestellungen zu finden sind. Dieser Bereich verkleinert sich automatisch etwas, sobald beispielsweise der Data Explorer geöffnet wird. Dieser entspricht weitgehend dem Fenster Registrierte Server vom SQL Server Management Studio, allerdings mit dem Unterschied, dass hier für Server im eigenen Netzwerk und Azure getrennte Bereiche vorhanden sind. Alle Servergruppen und Server, die hier definiert werden, sind auch gleichzeitig im SQL Server Management Studio in einer automatisch erstellten Servergruppe mit Namen Azure Data Studio wiederzufinden, so dass man die Registrierungen nicht doppelt vornehmen muss, wenn man beide Tools nutzt. Hat man hier nun einen oder mehrere Server registriert und klappt diese auf, erhält man eine Art vereinfachten Objekt-Explorer der sich auf die drei Unterpunkte Databases, Security und Server Objects beschränkt. Gewohnte Features wie beispielsweise einen SQL Server-Agent sucht man hier vergebens, doch dazu später mehr.

Dafür führt ein Doppelklick auf einem Server oder einer Datenbank zur Einblendung eines Dashboards im Hauptbereich, das einen groben Überblick über den Server bzw. die Datenbank liefert und im Bereich Tasks auch einige Links zu den gängigsten Aufgaben mitbringt. Interessant ist dabei, dass man sogar eigene Dashboards erstellen kann, die auf den persönlichen Bedarf zugeschnitten sind.

Abb. 1: Die Oberfläche von Azure Data Studio

Abb. 1: Die Oberfläche von Azure Data Studio

Wenn man unter Databases den Objektbaum bis zu den Tabellen öffnet und eine solche mit der rechten Maustaste anklickt, findet man im erscheinenden Kontextmenü die gewohnten Features, um die Tabelle abzufragen (Select Top 100), zum Bearbeiten zu öffnen (Edit Data) sowie solche zur Skripterstellung als Create– oder Drop-Anweisung. Diese Script As-Funktionalität ist leider noch nicht so konsequent für alle Objekttypen verfügbar wie im SQL Server Management Studio. Wenn man stattdessen Properties auswählt, werden die Eigenschaften der Tabelle angezeigt. Dabei bedient sich das Azure Data Studio allerdings desselben Dialogfelds, das auch vom SQL Server Management Studio verwendet wird. Damit ist zwar der gewohnte Funktionsumfang gegeben, die Optik passt jedoch nicht so recht zum deutlich moderner designten Azure Data Studio. Insgesamt fällt sowohl in der Baumstruktur als auch bei den entsprechenden Kontextmenüs auf, dass hier deutlich weniger Funktionen angeboten werden und insbesondere viele Administrationsfeatures fehlen. So ist es beispielsweise nicht möglich, eine SQL-Serverinstanz zu stoppen oder neu zu starten.

Im Dateiexplorer bekommen Sie zuerst eine Liste aller geöffneten Detailfenster (Dashboards, Abfragen etc.) zu sehen, was insbesondere bei einer großen Anzahl offener Abfragefenster sehr hilfreich sein kann. Darunter ist ein Arbeitsbereich, zu dem sich ein oder mehrere Ordner hinzufügen lassen, um somit beispielsweise einen schnelleren Zugriff auf Ihre Verzeichnisse mit SQL-Skripten zu haben. Das ist zwar kein wirklich bahnbrechendes Feature, erweist sich im Alltag aber doch als sehr praktisch.

Abfragefenster

Die sicherlich meistgenutzte Funktionalität wird jedoch das Abfragefenster sein. Ähnlich wie in den bereits etablierten Tools lassen sich hier, nach einer Verbindung mit einer Datenbank, SQL-Abfragen programmieren, wobei die IntelliSense-Unterstützung hier deutlich moderner und komfortabler umgesetzt ist als im SQL Server Management Studio. So kann man beispielsweise mit dem Mauszeiger über dem Stern einer SELECT *-Anweisung schweben und bekommt in einem kleinen Infofenster die Definitionen aller Spalten angezeigt, die mit dieser Anweisung als Ergebnis ausgegeben werden. Führt man die Abfrage aus, wird im unteren Bereich des Fensters wie gewohnt in zwei Reitern das eigentliche Abfrageergebnis und die Meldungen dazu angezeigt. Allerdings lässt sich das Ergebnis hier über entsprechende Symbole an der rechten Seite des Fensters nicht nur als CSV-Datei, sondern auch in den Formaten Excel, JSON oder XML speichern. Beim Speichern im Excel-Format ist jedoch zu beachten, dass Bitfelder in Textform (WAHR oder FALSCH) gespeichert werden. Mit dem Diagrammsymbol kann sogar eine grafische Darstellung des Ergebnisses erfolgen, wobei man den Diagrammtyp und einige weitere Einstellungen anpassen kann. Das fertige Diagramm kann anschließend als Bild in die Zwischenablage gelegt oder gespeichert werden (Abb. 2). Es lässt sich daraus aber auch ein sogenannter Einblick erstellen, wobei der englischsprachige Begriff „Insight“ hier deutlich griffiger ist. Dabei wird die Diagrammdefinition in ein JSON-Dokument umgewandelt, das sich speichern und später für eigene Dashboards nutzen lässt. In Verbindung mit Abfragen auf dynamische Verwaltungssichten kann man auf diesem Weg beispielsweise hilfreiche Datenbankverwaltungsdashboards erstellen.

Abb. 2: Anzeige eines Abfrageergebnisses als Diagramm

Abb. 2: Anzeige eines Abfrageergebnisses als Diagramm

Ein weiteres Feature sollte hier nicht unerwähnt bleiben: Während man im SQL Server Management Studio mit dem Mausrad bei gedrückter STRG-Taste den Quelltext einer Abfrage beliebig Vergrößern und Verkleinern kann, geht das im Azure Data Studio bei gedrückter STRG-Taste in Kombination mit den Tasten + und -. Der große Unterschied ist dabei allerdings, dass sich hier nicht nur die Abfrage, sondern alle Elemente der Anwendung (also auch Objektbaum, Abfrageergebnis etc.) zoomen lassen. Für Anwender von Visual Studio Code ist das eine Selbstverständlichkeit, wenn man vom SQL Server Management Studio kommt, aber eine willkommene Neuerung.

Gewohnt ist man dagegen die Möglichkeit, den voraussichtlichen Ausführungsplan einer Abfrage graphisch anzeigen zu lassen. Die Optik ist hierbei etwas ansprechender als beim Management Studio, die Inhalte sind jedoch prinzipiell dieselben. Neu ist dafür ein zusätzliches Registerblatt bei der Ergebnisanzeige, mit dem sich die Topoperationen in Tabellenform anzeigen lassen. Das ist insbesondere dann hilfreich, wenn die graphische Darstellung bei komplexen Abfragen zu unübersichtlich wird.

Notebooks

Während die meisten bisher beschriebenen Features letztlich doch nur „alter Wein in neuen Schläuchen“ sind, bietet die Unterstützung von Notebooks eine wirkliche Neuerung. Dabei werden Kernels für verschiedene Sprachen genutzt, um Dokumente zu erstellen, in denen sich Beschreibungen, Anweisungen (wie beispielsweise Abfragen) und Ergebnisse in Form von Blöcken immer wieder abwechseln. Bei den Textblöcken lassen sich sogar HTML-Tags verwenden, um diese optisch ansprechender zu formatieren. In den Ergebnisblöcken sind die Inhalte nicht starr, sondern können bei Bedarf immer wieder aktualisiert werden. Somit lassen sich schrittweise Datenanalysen ausführen, aber auch aufwendige Datenkorrekturen mit Zwischenschritten und entsprechender Dokumentation kombiniert durchführen.

Die typische Variante dafür sind die sogenannten Jupyter Notebooks, die auf der Sprache Python basieren (deren Komponenten bei der ersten Verwendung automatisch nachinstalliert werden, sofern man sich nicht mit einem bereits existierend Python Server verbindet). Alternativ bietet das Azure Data Studio auch eine Unterstützung von R, PySpark und sogar SQL selbst an. Mittlerweile werden sogar PowerShell Notebooks unterstützt.

Fertiggestellte Notebooks können in Form von JSON-Dateien mit der Endung .ipynb gespeichert werden, wobei das jeweils letzte Ergebnis der enthaltenen Abfragen mitgesichert wird.

Das Thema Notebooks konnte an dieser Stelle leider nur oberflächlich angesprochen werden, da sich alleine durch die Unterstützung der verschiedenen Sprachen eine nahezu unüberschaubare Zahl neuer Möglichkeiten bietet.

Extensions

Eine weitere Besonderheit, die wiederum Anwendern von Visual Studio Code sehr vertraut sein dürfte, ist das Thema Extensions. Während Erweiterungen beim SQL Server Management Studio immer für genau eine Version des Tools entwickelt werden konnten, bietet das Azure Data Studio nun eine offene Schnittstelle für Extensions. Dadurch ist es jedermann möglich, eigene Erweiterungen zu bauen, um zusätzliche Funktionalitäten bereitzustellen, die dann auch in zukünftigen Versionen des Tools noch funktionieren. Eine Vielzahl von Extensions wird bereits mit dem Azure Data Studio ausgeliefert (Abb. 3). Zusätzlich gibt es viele weitere Extensions, die zumindest von Microsoft empfohlen werden und sich mit wenigen Klicks nachinstallieren lassen. Darunter befinden sich auch zahlreiche Erweiterungen, die bereits bekannte Funktionen ergänzen, wie beispielsweise den ansonsten schmerzlich vermissten SQL Server Agent, den SQL Server Profiler und das SQL Server Schema Compare. In Verbindung mit der SQL Server Agent Extension lässt sich sogar die Ausführung von Notebooks zeitlich planen. Die Zahl der Extensions wächst ständig, wobei viele sich derzeit noch in einer Preview-Phase befinden und noch nicht ganz so ausgereift sind, wie man sich das wünschen würde.

Abb. 3: Auswahl und Aktivierung von Extensions

Abb. 3: Auswahl und Aktivierung von Extensions

Sonstiges

Abgesehen von den bereits beschriebenen Möglichkeiten gibt es noch eine Reihe weiterer hilfreicher Features. So lassen sich beispielsweise im unteren Teil des Detailbereichs ein oder mehrere Terminalfenster einblenden, in denen zum jetzigen Zeitpunkt PowerShell genutzt werden kann. Die Auswahlliste für die Shell-Varianten deutet jedoch darauf hin, dass hier in Zukunft noch weitere Shells zu erwarten sind.

Das SQL Server Management Studio bietet neben der Einblendung der registrierten Server noch eine weitere Verbindung zum Azure Data Studio. Im Menü Extras gibt es einen direkten Aufruflink, um das Azure Data Studio zu starten. Über das Kontextmenü einer Serverinstanz oder Datenbank im Objekt-Explorer lässt sich sogar das Azure Data Studio öffnen und automatisch ein neues Abfrage- oder SQL-Notebook-Fenster mit Verbindung zur entsprechenden Serverinstanz oder Datenbank anzeigen. Es scheint also durchaus von Microsoft vorgesehen zu sein, beide Tools in Kombination miteinander zu verwenden.

Fazit

Das Azure Data Studio ist natürlich nicht das allumfassende Tool, das alle anderen SQL-Server-Tools überflüssig macht, aber das war auch nicht zu erwarten. Insbesondere für Datenbankadministratoren wird nach wie vor das SQL Server Management Studio das Tools der Wahl sein, da viele wichtige Adminfunktionalitäten im Azure Data Studio nicht oder nur mit Hilfe noch nicht ganz ausgereifter Extensions verfügbar sind. Für .NET-Programmierer und Datenbankentwickler (insbesondere solche, die sich in der Oberfläche von Visual Studio Code heimisch fühlen) stellt das Azure Data Studio dagegen eine interessante Alternative zu den althergebrachten Tools dar. Und selbst dann, wenn man nicht auf das SQL Server Management Studio verzichten will, kann das Azure Data Studio eine sinnvolle Ergänzung darstellen, die einige zusätzliche Möglichkeiten wie beispielsweise das Arbeiten mit Notebooks eröffnet.

Links & Literatur

  • [1] Panther, Robert: „Datenbankentwicklung lernen mit SQL Server 2017“; O’Reilly, 2018

Windows Developer

Windows DeveloperDieser Artikel ist im Windows Developer erschienen. Windows Developer informiert umfassend und herstellerneutral über neue Trends und Möglichkeiten der Software- und Systementwicklung rund um Microsoft-Technologien.

Natürlich können Sie den Windows Developer über den entwickler.kiosk auch digital im Browser oder auf Ihren Android- und iOS-Devices lesen. Außerdem ist der Windows Developer weiterhin als Print-Magazin im Abonnement erhältlich.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -