SNEK5: SQL Server 2016 (Bernd Jungbluth)

Letzte Änderung am 20. Mai 2018 by Christoph Jüngling

Laut Bernd Jungbluth (Foto) würde er 2-3 Tage benötigen, um alle Neuerungen des SQL-Servers 2016 zu zeigen. Microsoft war offenbar sehr fleißig. Temporal Tables (nicht “temporäre Tabellen”!), Stretch-Database (Datenbankausweitung in die Cloud), R, JSON, Datenanalyse, … so ziemlich jedes aktuelle Schlagwort scheint dort seine Entsprechung zu haben. Interessant ist die Strategie von Microsoft, nicht mehr alles zwanghaft in die Cloud zu legen: “The Box is Back” lautet die Devise nun, was mit einem verspielten Bildchen kommuniziert wird.

Temporal Tables

Veränderliche Daten verursachen oft das Problem, dass der neue Stand zwar zuverlässig gespeichert wird, aber die Änderung selbst nicht mehr nachvollziehbar ist. Landläufig sagt man “Historisierung” dazu, musste in der Praxis aber das Datenmodell und die Applikationslogik deutlich aufbohren. Inzwischen ist das recht einfach geworden. Bei CREATE TABLE müssen nur einige Dinge ergänzt werden.

Always Encrypted

Systemadministratoren dürfen auf einem System alles machen. Auch wenn eine Gehaltstabelle durch eine Deny-Anweisung vor neugierigen Augen erfolgreich geschützt werden kann, gilt dies nicht für den Sys-Admin. Die Einstellung “always encrypted” erlaubt es, einzelne Spalten einer Tabelle so zu verschlüsseln, dass auch der Administrator diese zwar anschauen, aber nicht verstehen kann. Selbstverständlich sind der Auswertung solcher Daten gewisse Grenzen gesetzt, zum Beispiel in puncto Verknüpfung und Sortierung.

Row Level Security

Dies ist quasi ein dynamischer Filter auf Daten, der von der Benutzerrolle abhängig ist. Auch diese Einstellungen erfolgen auf der Datenbank selbst, ohne dass in jedem Frontend die entsprechende Logik etabliert werden müsste. Nach einigen Vorbereitungen greift dieser Mechanismus dann direkt in die Ausführung des SELECT-Befehls ein. Dadurch sind keine Änderungen am Frontend notwendig und es kann auch niemand diese Blockade unterlaufen, indem er z.B. einfach eine alte Applikation verwendet.

Dynamic Data Masking

Eine Datenmaske legt man ebenfalls auf eine Spalte, so dass bestimmte User die Daten nicht mehr sehen können. Anstelle eines Laufzeitfehlers werden bei einem SELECT dann allerdings gültige Werte geliefert, die zwar dem Datentyp entsprechen, aber eben nicht die echten Werte sind. So kann eine Applikation bei der Weiterverarbeitung keinen Fehler machen, weil sie z.B. mit einem ungültigen Datum nicht umgehen kann.

Datenzugriff

T-SQL hat einige neue Befehle und Erweiterungen bekommen, von denen FORMATMESSAGE und die Datumsumwandlungsfunktionen vielleicht noch die für Applikationen interessantesten sind. Strukturell wäre der Befehl “DROP object IF EXISTS” zu nennen, dessen Funktion man sich leicht vorstellen kann.

Datenbankentwicklung

R ist eine Programmiersprache für statistische Berechnungen. Die Erweiterung für den SQL-Server integriert die R-Services und liefert Werte, Ergebnismengen und Diagramme.

Polybase dient dem Auswerten unstrukturierter Daten. Diese können in Form einer Text- oder Exceldatei und vielen weiteren Formaten vorliegen. Leider ist diese wertvolle Funktion im Moment auf den Azure Blob Storage beschränkt.

JSON (JavaScript Object Notation) beschreibt Datenformate als gültiges JavaScript, das in dieser Sprache direkt ausgeführt werden kann. Damit öffnet sich der SQL-Server einer weiteren Schnittstelle, die auch außerhalb der JavaScript-Welt große Verbreitung erfährt und inzwischen bei einigen Leuten sogar beliebter ist als XML. Im Gegensatz zu der XML-Unterstützung des SQL-Servers gibt es für JSON keinen eigenen Datentyp. Es wird einfach NVARCHAR verwendet. Die Funktion “ISJSON(inhalt)” überprüft, ob es auch tatsächlich gültiges JSON ist. JSON_VALUE(feld) ermittelt dann den entsprechenden Wert aus der Datenstruktur.

Dienste

Bei Integration Services und Reporting Services bin ich leider ausgestiegen. Zu vielen für mich unverständlichen Begriffen und deren Zusammenhängen konnte ich nicht mehr folgen. Schnellsprecher Jungbluth hat mich abgehängt.

Dennoch ein wirklich runder Vortrag mit viel praktischen Beispielen, und zwischendurch immer hintergründige Wortspiele, die ich so liebe.

Ähnliche Artikel:

Schreibe einen Kommentar

Deine Email-Adresse wird nicht veröffentlicht.

siebzehn + fünfzehn =