Thorsten Kansy Selbstständig

Bis SQL Server 2016 wurden die Sicherheitsstufen, die festlegten, über welches API eine Assembly aufgerufen durfte, mittels Code Access Security (CAS) festgelegt.

SQL Server 2017 bedeutet nicht nur Unterstützung von Linux. Vielmehr bietet die Version einige neue Features, die durchaus interessant sind. Dieser Artikel stellt diese interessanten Neuerungen der Database Engine vor und soll Interesse an ihnen wecken, auch wenn vielleicht nicht jedes Detail beschrieben wird. Die längeren Scripts findet der interessierte Leser im dotnetconsulting-Blog.

Um sich die neue SQL-Server-Version anzuschauen, bietet sich der Einsatz von Docker an. Microsoft stellt ein aktuelles Image bereit, das das Datenbankmodul in neuester Version auf Ubuntu bereitstellt. Das Herunterladen und Starten des Images erfolgt dann über folgende Anweisung:

docker run -e ACCEPT_EULA=Y -e SA_PASSWORD=P@ssw0rd99 -p 2433:1433 -v C:\Temp\Docker\Databases:/var/opt/mssql/data -d microsoft/mssql-server-linux

Der SQL Server ist damit über TCP-Port 2433 erreichbar, hat ein sicheres SA-Passwort und seine Datenbankmedien werden auf C:\Temp\Docker\Databases auf dem Host abgelegt. Damit sind die erzeugten Datenbanken auch nach dem Beenden des Containers verfügbar.

Nach dem Start und einem Verbindungsaufbau mit dem aktuellen SQL Server Management Studio 17.1 liefert die kleine Abfrage SELECT @@version; als Beweis die neue Versionsnummer und das Hostbetriebssystem im Docker-Container (Abb. 1).

Abb. 1: Eine einfache Abfrage offenbart Ubuntu als OS im Docker-Container

Abb. 1: Eine einfache Abfrage offenbart Ubuntu als OS im Docker-Container

Das SQL Server Management Studio muss übrigens seit SQL Server 2016 durch ein eigenständiges Set-up installiert und vorher selbstredend erst einmal heruntergeladen werden [3]. Die Verbindung wird dann, wie in Abbildung 2 zu sehen, auf den freigegebenen TCP-Port mit SQL-Server-Authentifizierung hergestellt.

Abb. 2: Verbindungsdialog für Verbindung mit SQL Server in Docker

Abb. 2: Verbindungsdialog für Verbindung mit SQL Server in Docker

Damit steht der Erkundung des SQL-Server-2017-Datenbankmoduls nichts mehr im Weg.

Graph Data Processing

Eine größere Neuerung ist der Einbau einer neuen Art von Tabellen: „Graph Tables“ (Graphtabellen). Mit diesen lassen sich Beziehungen zwischen Tabellen definieren. Zu diesem Zweck gibt es Knotentabellen (Nodes), die Benutzerdaten speichern und Kantentabellen (Edges), die den Beziehungen zwischen diesen Platz bieten. Insgesamt ist dies ein alternativer Ansatz zu relationalen Beziehungen zwischen Tabellen, um Daten mit Beziehungen zu speichern und abzufragen. Der wohl größte Unterschied dabei dürfte sein, dass eine Beziehung (Eintrag in Edge-Tabelle) zwischen jeder existierenden Node Table definiert werden kann; anders als relationale Beziehungen (mit Fremdschlüsseln), die fest zwischen zwei Tabellen angelegt werden.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Windows Developer 10.17 - "Datenarbeit mit Durchblick"

Alle Infos zum Heft
579811144Der SQL Server 2017: Die neusten Neuerungen im Überblick
X
- Gib Deinen Standort ein -
- or -