Datenbankentwicklung lernen mit SQL Server 2022 - Robert Panther - E-Book

Datenbankentwicklung lernen mit SQL Server 2022 E-Book

Robert Panther

0,0

Beschreibung

Alles, was ein gutes Lehrbuch bieten sollte: Klar definierte Lernziele, gute Beispiele und viele praktische Übungsaufgaben - Aktualisierte Neuauflage der bewährten Einführung in die Datenbankentwicklung - Basiert auf der kostenlos erhältlichen Version SQL Server 2022 Express - Jetzt komplett überarbeitet und an alle Neuerungen der SQL-Server-Version von 2022 angepasstSQL Server 2022 und die kostenlose Version SQL Server 2022 Express sind ideal, um in die professionelle Datenbankentwicklung einzusteigen. Sie können mit ihnen komplexe Datenbankprojekte verwirklichen, die die Funktionalität einer Desktop-Datenbank wie Microsoft Access deutlich übersteigen. Wenn Sie tiefer in die Datenbankentwicklung mit einem professionellen Datenbankserver einsteigen wollen, ist dieses Buch genau das Richtige für Sie. Es vermittelt leicht verständlich sowohl die Datenbankgrundlagen als auch das Programmierwissen, das Sie benötigen, um die umfangreichen Möglichkeiten von SQL Server 2022 zu nutzen. Aufgrund des didaktisch durchdachten Konzepts mit vielen Übungen und Praxistipps ermöglicht dieses Buch Ihnen eine fundierte Einarbeitung in die Entwicklung von Datenbanken. Das Buch basiert auf der kostenfrei erhältlichen Version SQL Server 2022 Express, eignet sich aber auch für größere SQL-Server-Editionen.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 684

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Copyright und Urheberrechte:

Die durch die dpunkt.verlag GmbH vertriebenen digitalen Inhalte sind urheberrechtlich geschützt. Der Nutzer verpflichtet sich, die Urheberrechte anzuerkennen und einzuhalten. Es werden keine Urheber-, Nutzungs- und sonstigen Schutzrechte an den Inhalten auf den Nutzer übertragen. Der Nutzer ist nur berechtigt, den abgerufenen Inhalt zu eigenen Zwecken zu nutzen. Er ist nicht berechtigt, den Inhalt im Internet, in Intranets, in Extranets oder sonst wie Dritten zur Verwertung zur Verfügung zu stellen. Eine öffentliche Wiedergabe oder sonstige Weiterveröffentlichung und eine gewerbliche Vervielfältigung der Inhalte wird ausdrücklich ausgeschlossen. Der Nutzer darf Urheberrechtsvermerke, Markenzeichen und andere Rechtsvorbehalte im abgerufenen Inhalt nicht entfernen.

Robert Panther

Datenbankentwicklunglernen mit SQL Server 2022

Der praxisorientierte Grundkurs

3. Auflage

Robert Panther

Lektorat: Alexandra Follenius

Copy-Editing: Claudia Lötschert, www.richtiger-text.de

Satz: Gerhard Alfes, mediaService, Siegen, www.mediaservice.tv

Herstellung: Stefanie Weidner

Umschlaggestaltung: Michael Oréal, www.oreal.de, unter Verwendung eines Fotos von der iStock-Fotografie ID 1415513909 von KanawatTH © iStock by Getty Images

Bibliografische Information der Deutschen Nationalbibliothek

Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.

ISBN:

Print

978-3-96009-222-3

PDF

978-3-96010-776-7

ePub

978-3-96010-777-4

mobi

978-3-96010-778-1

3. Auflage 2023

Copyright © 2023 dpunkt.verlag GmbH

Wieblinger Weg 17

69123 Heidelberg

Dieses Buch erscheint in Kooperation mit O’Reilly Media, Inc. unter dem Imprint »O’REILLY«.O’REILLY ist ein Markenzeichen und eine eingetragene Marke von O’Reilly Media, Inc. und wird mit Einwilligung des Eigentümers verwendet.

Hinweis:

Dieses Buch wurde mit mineralölfreien Farben auf PEFC-zertifiziertem Papier aus nachhaltiger Waldwirtschaft gedruckt. Der Umwelt zuliebe verzichten wir zusätzlich auf die Einschweißfolie. Hergestellt in Deutschland.

Schreiben Sie uns:

Falls Sie Anregungen, Wünsche und Kommentare haben, lassen Sie es uns wissen: [email protected].

Die vorliegende Publikation ist urheberrechtlich geschützt. Alle Rechte vorbehalten. Die Verwendung der Texte und Abbildungen, auch auszugsweise, ist ohne die schriftliche Zustimmung des Verlags urheberrechtswidrig und daher strafbar. Dies gilt insbesondere für die Vervielfältigung, Übersetzung oder die Verwendung in elektronischen Systemen.

Es wird darauf hingewiesen, dass die im Buch verwendeten Soft- und Hardware-Bezeichnungen sowie Markennamen und Produktbezeichnungen der jeweiligen Firmen im Allgemeinen warenzeichen-, marken- oder patentrechtlichem Schutz unterliegen.

Alle Angaben und Programme in diesem Buch wurden mit größter Sorgfalt kontrolliert. Weder Autor noch Verlag können jedoch für Schäden haftbar gemacht werden, die in Zusammenhang mit der Verwendung dieses Buches stehen.

5 4 3 2 1 0

Inhalt

Vorwort

Teil IEinführung

1Einleitung

Warum dieses Buch?

Aufbau des Buchs

Die Beispieldatenbank

Schreibweisen

Benötigte Software

Zusammenfassung

2Der Microsoft SQL Server

Historie des Microsoft SQL Server

Neuerungen bei SQL Server 2014

Neuerungen bei SQL Server 2016

Neuerungen bei SQL Server 2017

Neuerungen bei SQL Server 2019

Neuerungen bei SQL Server 2022

Die verschiedenen SQL Server-Editionen im Vergleich

Übungen zu diesem Kapitel

Zusammenfassung

3Installation und erste Schritte

Systemvoraussetzungen

Installation

Die wichtigsten SQL Server-Tools

Übungen zu diesem Kapitel

Zusammenfassung

Teil IIDatenbankgrundlagen

4Allgemeine Datenbankgrundlagen

Erstellen von Datenbanken und Tabellen

Anzeigen und Ändern von Daten

Bearbeiten von Datenbanken und Tabellen

Primärschlüssel

Indizes

Übungen zu diesem Kapitel

Zusammenfassung

5Eine Tabelle kommt selten allein

Relationen und Fremdschlüssel

Normalisierung

Datenbankdiagramme

Abfragen

Sichten (Views)

Übungen zu diesem Kapitel

Zusammenfassung

6Kleine Einführung in SQL

Was ist eigentlich SQL?

SQL-Anweisungen im Management Studio ausführen

Datenbankabfragen mit SELECT

Daten mit UPDATE, INSERT und DELETE bearbeiten

Erstellen und Verwenden von Sichten

Übungen zu diesem Kapitel

Zusammenfassung

Teil IIIDatenbankentwicklung

7SQL-Programmierung

Komplexe SQL-SELECTs

Komplexe INSERTs, UPDATEs und DELETEs

Daten abgleichen mit dem MERGE-Befehl

Common Table Expressions

Die OFFSET-Klausel

Sequenzen

Zahlenreihen

Temporale Tabellen

Übungen zu diesem Kapitel

Zusammenfassung

8Komplexe Datentypen

Räumliche Daten

Hierarchische Daten

XML

JSON

Übungen zu diesem Kapitel

Zusammenfassung

9SQL-Skripte

Arbeiten mit SQL-Skripten

Variablen

Fallunterscheidungen und Schleifen

Debuggen von SQL-Skripten

Fehlerbehandlung in SQL-Skripten

Sperren, Transaktionen und Deadlocks

Übungen zu diesem Kapitel

Zusammenfassung

10Gespeicherte Prozeduren, Funktionen, Trigger und Cursor

Systemprozeduren und -funktionen

Benutzerdefinierte gespeicherte Prozeduren

Benutzerdefinierte Funktionen

Trigger

SQL-Cursor

Übungen zu diesem Kapitel

Zusammenfassung

Teil IVDatenbankadministration

11Datenbankadministration mit SQL

Skriptgenerierung oder »SQL ist überall«

Verwalten von Datenbanken

Verwalten von Datenbankobjekten

DDL-Trigger

Übungen zu diesem Kapitel

Zusammenfassung

12Benutzer, Rollen und Rechte

Das SQL Server-Rechtesystem

Anmeldungen und Authentifizierung

Verwalten von Datenbankbenutzern

Rechte und Rollen

Contained Databases

Verwendung von Schemas

Übungen zu diesem Kapitel

Zusammenfassung

13Daten sichern und bewegen

Sichern von Datenbankdateien

Das Transaktionslog

Sichern und Wiederherstellen von Datenbanken

Import und Export von Daten

Übungen zu diesem Kapitel

Zusammenfassung

Teil VFortgeschrittene Datenbankentwicklung

14Komplexe Beziehungen mit Graphdatenbanken abbilden

Knoten und Kanten anlegen

Daten in eine Graphdatenbank einfügen

Daten einer Graphdatenbank abfragen

Daten einer Graphdatenbank ändern

Übungen zu diesem Kapitel

Zusammenfassung

15Integration weiterer Programmiersprachen

Vorbereitung

R

Python

Übungen zu diesem Kapitel

Zusammenfassung

16SQL Server und .NET Framework

Starten von Visual Studio

Schichtentrennung und Applikationsaufbau

Zugriff über ADO.NET

LINQ to SQL

Das ADO.NET Entity Framework

Übungen zu diesem Kapitel

Zusammenfassung

Teil VIErweiterte Funktionen

17Datenebenenanwendungen

Überblick über Datenebenenanwendungen

Erstellen von Datenebenenanwendungen

Verteilen von Datenebenenanwendungen

Importieren und Exportieren von Datenebenenanwendungen

Übungen zu diesem Kapitel

Zusammenfassung

18Datenbankprojekte und die SQL Server Data Tools

Überblick über die SQL Server Data Tools

Mit Datenbankprojekten arbeiten

Die CLR-Integration von SQL Server

Sonstige nützliche Features

Ausblick

Übungen zu diesem Kapitel

Zusammenfassung

19Berichte erstellen mit den SQL Server Reporting Services

Überblick über die Reporting Services

Konfiguration der Reporting Services

Erstellen eines Reports mit dem Report-Designer

Übungen zu diesem Kapitel

Zusammenfassung

20Zusammenarbeit mit anderen SQL Server-Instanzen und -Editionen

Verbindung zu anderen Servern

Replikation

Die SQL Server LocalDB

Die SQL Server Compact Edition

Umstieg auf eine größere Edition

Übungen zu diesem Kapitel

Zusammenfassung

21SQL Server und die Cloud

Überblick und verfügbare Varianten

Eine Datenbank in der Cloud anlegen

Auf SQL-Daten in der Cloud zugreifen

Eine bestehende Datenbank in die Cloud migrieren

Übungen zu diesem Kapitel

Zusammenfassung

22Das Azure Data Studio

Installation und Überblick

Verbindungen und Abfragen

Neue Möglichkeiten durch Notebooks

Erweiterung des Tools durch Extensions

Übungen zu diesem Kapitel

Zusammenfassung

Nachwort

Teil VIIAnhänge

Anhang AKleine SQL-Referenz

SELECT

Data Manipulation Language (DML)

Data Definition Language (DDL)

Data Control Language (DCL)

SQL Server-Datentypen

Systemobjekte

Anhang BWeiterführende Infos im Web

Websites von Verlag und Autor

Microsoft-Websites zu SQL Server

Downloads zu SQL Server

Communitys, Events und Konferenzen

SQL Server-Foren und -Blogs

Anhang CLösungen zu den Übungen

Anhang DGlossar

Index

Vorwort

Nachdem Microsoft in den letzten Jahren alle ein bis zwei Jahre eine neue Version des hauseigenen Datenbank-Management-Systems SQL Server auf den Markt brachte, entstand nach SQL Server 2019 eine etwas längere Lücke. Gerade noch rechtzeitig, um den angepeilten Produktnamen SQL Server 2022 beizubehalten, erschien dann Ende November 2022 die neueste Version von SQL Server. Für die passenden Client Tools (das SQL Server Management Studio 19) dauerte es sogar noch bis Ende Januar 2023. Doch das Warten hat sich gelohnt. Sowohl der SQL Server als auch seine Client Tools machen einen stabilen und ausgereiften Eindruck. Hier macht es sich bezahlt, dass das Produkt über viele Jahre kontinuierlich gereift ist, ohne das Rad neu zu erfinden. Zu den interessantesten Neuerungen zählt neben einigen SQL-Spracherweiterungen auch eine immer besser werdende Anbindung an die Azure Cloud, sodass man die meisten Tools nahezu unverändert nutzen kann, egal ob sich die verwendete Datenbank auf einem Server im lokalen Netzwerk oder in der Azure Cloud befindet.

Genauso, wie SQL Server immer weiterentwickelt wurde, so wird auch dieses Buch ständig weiterentwickelt, das bereits in ähnlicher Form für SQL Server 2008, SQL Server 2008 R2, SQL Server 2012, SQL Server 2016 und SQL Server 2017 verfügbar war. Lediglich SQL Server 2014 und SQL Server 2019 wurden ausgelassen, da sich die Neuerungen – zumindest im Bereich der Datenbankentwicklung – in Grenzen hielten. Nun ist SQL Server 2022 erhältlich, der zumindest auf den zweiten Blick erneut eine Vielzahl von Neuerungen für alle Editionen von SQL Server mit sich bringt. Daher erschien es sowohl Verlag als auch Autor sinnvoll, wieder eine erweiterte Neuauflage des Buchs herauszubringen.

Die im Buch beschriebenen Beispiele beziehen sich zwar wiederum auf die Express Edition von Microsoft SQL Server, sind aber allesamt auch auf den größeren Editionen von SQL Server anwendbar, sodass der Text damit als Einstieg für alle Editionen geeignet ist. Auf eine Buch-DVD wurde bewusst verzichtet, da die benötigte Software problemlos in der jeweils aktuellsten Version aus dem Internet heruntergeladen werden kann. Inzwischen sind auch die dafür benötigten Internetbandbreiten nahezu überall verfügbar, sodass man auf den Download nicht mehr allzu lange warten muss.

Damit Sie auch wissen, wer dieses Buch geschrieben hat, möchte ich mich kurz vorstellen:

Ich beschäftige mich seit etwa 1995 mit dem SQL Server (damals noch in der Version 6.0) und habe das Produkt seitdem in seinen vielfältigen Facetten kennengelernt – anfangs in Form von Performanceuntersuchungen für meine Diplomarbeit zum Thema »Optimierung von Datenbankanwendungen«, mit der ich im Jahr 1996 mein Informatikstudium an der FH Darmstadt erfolgreich abschloss, und anschließend aus der Sicht des Datenbankadministrators für ein großes Unternehmen der Reisebranche. Danach wechselte ich in ein mittelständisches Softwarehaus, in dem mich der SQL Server sowohl aus der Sicht eines Administrators als auch aus der eines Anwendungsentwicklers stets begleitete. Seit 2007 bin ich nun als Senior Consultant (mittlerweile Executive Consultant) für das große, international agierende Beratungsunternehmen CGI (bzw. deren Vorgängerunternehmen Unilog Avinci und Logica) tätig und spätestens seit diesem Zeitpunkt völlig auf den SQL Server fokussiert. Sofern es die Projekte zulassen, bin ich auch immer wieder mal als Sprecher auf diversen Fachkonferenzen (z. B. BASTA!, SQLCON, Deutsche SQL Server Konferenz, Frankfurter Datenbanktage/IT-Tage) sowie in der offiziellen SQL Server User Community PASS (Professional Association for SQL Server) aktiv.

Und nach all dieser Zeit fasziniert es mich nach wie vor, dass es immer wieder Neues beim SQL Server zu entdecken gibt. Mittlerweile wird das Produkt aufgrund der vielen Zusatzdienste und -komponenten völlig zu Recht häufig auch als Microsoft-Datenplattform bezeichnet. Mit diesem Buch möchte ich versuchen, Ihnen etwas von der Begeisterung und Faszination zu diesem Produkt weiterzugeben.

Bevor ich aber mit dem eigentlichen Buchtext beginne, will ich noch ein Dankeschön an verschiedene Personen loswerden:

Beginnen möchte ich mit dem O’Reilly Verlag und hier insbesondere Alexandra Follenius erwähnen, die dieses Buch von Verlagsseite aus betreut hat.

Des Weiteren bedanke ich mich natürlich bei allen Kunden, Kollegen und Freunden, die mich immer wieder in Gesprächen oder in Form von Lesermails mit interessanten Ideen und Anregungen für dieses Buch versorgt haben.

Mein letztes Dankeschön geht – wie immer – an meine Frau Birgit, und zwar dafür, dass sie wieder einmal Verständnis dafür aufbringen konnte, dass ich für einen gewissen Zeitraum einen guten Teil meiner Freizeit für die Bearbeitung dieses Buchtexts aufbringen musste.

Robert Panther

Hattersheim, im April 2023

Teil I

Einführung

In diesem Teil:

Kapitel 1Einleitung

Kapitel 2Der Microsoft SQL Server

Kapitel 3Installation und erste Schritte

Kapitel 1

Einleitung

In diesem Kapitel lernen Sie

warum und für welche Zielgruppe dieses Buch entstanden ist

wie dieses Buch aufgebaut ist

welche Formatierungen und Symbole im Text verwendet werden

Warum dieses Buch?

Mit diesem Buch erhalten Sie einen strukturierten Einstieg in die Möglichkeiten, die SQL Server 2022 – insbesondere SQL Server 2022 Express – bietet. Selbst wenn Sie mit einer größeren Variante von Microsoft SQL Server arbeiten sollten, können Sie auf dem hier vermittelten Grundwissen aufbauen und müssen sich lediglich die zusätzlichen Features der größeren Versionen aneignen. Somit ist dieses Buch auch als Grundlagenbuch für alle anderen Editionen von SQL Server geeignet.

Mit SQL Server 2022 Express stellt Microsoft eine kostenfrei erhältliche Version des aktuellen SQL Server zur Verfügung, die bereits einen beachtlichen Funktionsumfang enthält und damit für viele Aufgaben bestens geeignet ist.

Wenn Sie schon mit einer älteren Version von SQL Server gearbeitet haben, werden Sie die vielen interessanten Neuerungen schätzen lernen, mit denen die bereits vielfach bewährten Vorgängerversionen weiter verbessert wurden.

Haben Sie stattdessen bisher mit Microsoft Access oder der MSDB einfache Datenbankanwendungen erstellt, ist SQL Server 2022 Express der nächste logische Schritt, um diese Anwendungen auf eine skalierbare Plattform zu portieren. Denn sollte die Express Edition einmal nicht mehr ausreichen, können Sie die Datenbank problemlos in einer größeren Variante von SQL Server einspielen, ohne den Code der Anwendung ändern zu müssen.

Und auch wenn Sie bisher noch gar keine Erfahrung mit der Entwicklung von Datenbankanwendungen haben, ist SQL Server 2022 Express das ideale Produkt, um in diese Thematik einzusteigen.

Aufbau des Buchs

Der Buchtext gliedert sich in sechs größere Teile, die durch einen Anhang ergänzt werden.

Teil I

,

Einführung

, gibt einen kurzen Überblick über Microsoft SQL Server. Nach einer Beschreibung der Historie werden die Neuerungen der 2022er-Variante vorgestellt, gefolgt von einem Vergleich der verschiedenen Editionen von SQL Server. Danach wird die Installation der Express Edition beschrieben. Abgerundet wird dieser Teil des Buchs durch einen Überblick über die wichtigsten Tools, die SQL Server mitbringt.

Teil II

,

Datenbankgrundlagen

, vermittelt die wichtigsten Grundlagen, die Sie benötigen, um mit Datenbank-Management-Systemen wie SQL Server 2022 zu arbeiten. Nach ein paar allgemeinen Basisinformationen folgt eine Beschreibung, wie Sie zentrale Datenbankobjekte wie Datenbanken, Tabellen, Sichten und Indizes anlegen und verwalten können. Das letzte Kapitel dieses Teils gibt eine Einführung in die wichtigsten SQL-Anweisungen zum Abfragen, Einfügen, Ändern und Löschen von Daten.

Teil III

,

Datenbankentwicklung

, befasst sich mit der Datenbankentwicklung. Ein Kapitel widmet sich der erweiterten SQL-Programmierung wie beispielsweise komplexeren SQL-Abfragen, ein weiteres den komplexen Datentypen wie beispielsweise XML und JSON (wobei JSON streng genommen eher ein Datenformat als ein Datentyp ist). Außerdem wird die Programmierung von Triggern, gespeicherten Prozeduren und Funktionen beschrieben. Dazu werden auch die Besonderheiten von SQL-Skripten behandelt, und es wird erläutert, wie man diese debuggen oder gar eine Fehlerbehandlung zur Laufzeit implementieren kann.

Teil IV

,

Datenbankadministration

, führt Sie in die Nutzung der administrativen Möglichkeiten von SQL Server ein. Dabei wird das Anlegen, Ändern und Löschen von Datenbanken, Tabellen, Indizes etc. sowohl über die Benutzeroberfläche als auch mit der Sprache SQL beschrieben. Aber auch andere wichtige administrative Themen wie die Benutzer- und Rechteverwaltung sowie das Sichern und Wiederherstellen von Daten kommen hier nicht zu kurz.

Teil V

,

Fortgeschrittene Datenbankentwicklung

, zeigt verschiedene erweiterte Themen der Datenbankentwicklung mit SQL Server auf, die für spezielle Anwendungsszenarien hilfreich sind. So befasst sich ein Kapitel mit der Implementierung von Graphdatenbanken, mit denen sich Relationen zwischen Objekten auf eine interessante Weise abbilden lassen. Ein weiteres Kapitel beschreibt, wie sich mit SQL Server auch Programmiersprachen wie R und Python nutzen lassen. Im letzten Kapitel dieses Teils schließlich wird ein Ausblick auf das Zusammenspiel mit .NET gegeben, um zur Datenbank auch komfortable Anwendungen entwickeln zu können.

Teil VI

,

Erweiterte Funktionen

, erklärt die Nutzung von erweiterten Möglichkeiten von SQL Server Express. Die ersten beiden Kapitel dieses Teils befassen sich mit Datenebenenanwendungen und wie diese in Kombination mit Datenbankprojekten genutzt werden können. Anschließend folgt ein Kapitel, in dem die Reporting-Features beschrieben werden, die Sie mit SQL Server Express Advanced Edition nutzen können. Das nächste Kapitel zeigt die Möglichkeiten zur Zusammenarbeit mit den größeren (und kleineren) Editionen von SQL Server auf. So lässt sich SQL Server Express beispielsweise als Client für ein Replikationsszenario verwenden. Aber auch die SQL Server LocalDB wird behandelt. Der Themenbereich SQL Server in der Cloud erhält ein eigenes Kapitel, in dem gezeigt wird, wie man Datenbanken in der Cloud anlegt oder diese dorthin migriert und wie auf diese Datenbanken zugegriffen wird. Das letzte Kapitel schließlich beschreibt das Azure Data Studio, das für viele Aufgaben eine geeignete Alternative zum SQL Server Management Studio darstellt.

Im

Anhang

finden Sie eine kurze Referenz der wichtigsten SQL-Befehle gefolgt von einem Überblick über weitere Informationsquellen zum Thema im Internet. Ebenfalls im Anhang zu finden sind die Lösungen zu den Übungsaufgaben der einzelnen Kapitel. Abgeschlossen wird der Anhang durch ein Glossar, in dem die wichtigsten Fachbegriffe erklärt sind, sowie den obligatorischen Index.

Aufbau der einzelnen Kapitel

Die Kapitel dieses Buchs sind jeweils folgendermaßen aufgebaut:

Lernziele

Sie finden am Anfang jedes Kapitels eine Übersicht zu den Lernzielen und Themen des Kapitels.

Schrittfolgen

Die Anleitungen für das Erstellen der Datenbanken sind als Schrittfolgen dargestellt. Auch wenn Sie die Beispieldatenbanken und -projekte von der Website zum Buch (unter

https://dpunkt.de/produkt/datenbankentwicklung-lernen-mit-sql-server-2022

auf der Registerkarte

Zusatzmaterial

) herunterladen können, empfehle ich Ihnen, alle Beispiele selbst zu erstellen, indem Sie Schritt für Schritt den beschriebenen Ablauf nachvollziehen. Sie werden auf diese Weise schneller mit den Oberflächen der diversen SQL Server-Tools sowie der Syntax von T-SQL vertraut.

Übungen

Vor der Zusammenfassung folgt meist noch ein Abschnitt mit Übungen zu dem jeweiligen Kapitel. Manchmal handelt es sich dabei um einfache Fragen, manchmal enthält eine Übung eine Aufgabe, um die im Kapitel durchgeführte Datenbankoperation noch weiter zu verfeinern. Alle Lösungen und Antworten finden Sie in

Anhang C

dieses Buchs. Versuchen Sie, die Übungen selbstständig durchzuführen, und schauen Sie sich erst dann die Lösungen im Anhang an. So werden Sie schneller in der Lage sein, eigene Datenbankprojekte zu realisieren.

Zusammenfassung

Am Ende jedes Kapitels finden Sie eine kurze Zusammenfassung der wichtigsten Lerninhalte, damit Sie sich das gerade Erlernte noch einmal ins Gedächtnis zurückrufen können.

Die Beispieldatenbank

Um einen echten Praxisbezug zu erreichen, wird im gesamten Buch eine einheitliche Beispieldatenbank verwendet, die im Laufe des Texts immer weiterentwickelt wird. Dabei wurde bewusst vermieden, die zweitausendundzweite Adressverwaltung zu entwerfen. Dennoch wurde ein relativ gängiges Anwendungsbeispiel in Form einer Mediendatenbank verwendet, mit der Sie Bücher, Audio-CDs und DVDs verwalten können, damit die Beispiele auch für jeden möglichst gut nachvollziehbar sind. Die Beispieldatenbank können Sie unter folgendem Link auf der Website des Verlags unter der Registerkarte Zusatzmaterial herunterladen:

https://dpunkt.de/produkt/datenbankentwicklung-lernen-mit-sql-server-2022

Ich selbst kenne die Notwendigkeit einer solchen Datenbank nur zu gut, gehöre ich doch – trotz der mittlerweile großen Anzahl an Streamingdiensten – noch zu den vielen »Jägern und Sammlern«, die über eine recht große Anzahl von CDs und DVDs verfügen. Hin und wieder passiert es dann, dass ich eine interessante CD oder DVD günstig erstehe, um zu Hause dann festzustellen, dass diese bereits in meinem Regal stand. (Zum Glück kommt das nicht allzu oft vor.)

Um derlei Missgeschick künftig völlig auszuschließen, benötigt man also eine Mediendatenbank (möglichst auch in einer Offlinevariante, die man dann beim nächsten Besuch des Elektronikmarkts seines Vertrauens beispielsweise im Mobiltelefon parat hat). Wenn man dann noch eine einfache Suchoberfläche zur Verfügung hat, um mit wenigen Tastendrücken nachzusehen, ob ein Titel schon in der privaten Sammlung enthalten ist, ist das Problem gelöst.

Im Vordergrund der meisten Beispiele in diesem Buch wird allerdings weniger die Benutzeroberfläche der zugehörigen Anwendung als vielmehr die Datenbank selbst stehen.

Schreibweisen

Dieses Buch verwendet einige wenige Konventionen. Wenn Sie mit ihnen vertraut sind, können Sie leichter mit dem Buch arbeiten:

Kursive Schrift

Die kursive Schrift wird für Dateinamen verwendet, bezeichnet Elemente der Benutzeroberfläche (in den meisten Fällen also Elemente des Menüs des SQL Server Management Studio sowie Dialogfelder und auch die Namen der Eigenschaften, wie sie im Management Studio oder in der IDE erscheinen) und wird in seltenen Fällen auch für Hervorhebungen verwendet. Datenbankobjekte wie die Namen von Datenbanken, Tabellen, Feldern etc. werden ebenfalls in kursiver Schrift dargestellt.

Listingschrift

Die Listingschrift wird verwendet, wenn Codefragmente aus dem Beispielcode abgedruckt werden. Im Fließtext werden die Begriffe in Listingschrift gedruckt, die auf Stellen im Quellcode verweisen.

Zusätzlich finden Sie im ganzen Buch verteilt Absätze, die mit den folgenden Symbolen versehen sind und die auf bestimmte hilfreiche Elemente hinweisen:

Wichtig

Absätze mit diesem Icon enthalten wichtige Informationen, auf die Sie unbedingt achten sollten.

Tipp

In den Tipp-Absätzen finden Sie weiterführende Informationen und Hinweise dazu, wie Sie Dinge besonders einfach und zeitsparend durchführen können.

Hintergrundinfo

Mit diesem Symbol markierte Absätze enthalten hilfreiche Hintergrundinformationen. Die Informationen sind nicht erforderlich, um eine bestimmte Schrittfolge durchzuführen, sie vertiefen jedoch Ihr Wissen über die Zusammenhänge, in denen eine bestimmte Aktion steht. Dies beinhaltet auch sogenannte Best Practices, also Beschreibungen zu gängigen Vorgehensweisen, die sich in der Praxis bewährt haben. Links zu Websites im Internet, die mit dem behandelten Thema in Zusammenhang stehen, sind ebenfalls mit diesem Icon gekennzeichnet.

Bei der Wahl von Fachbegriffen aus dem Umfeld von SQL Server wird in der Regel vorrangig die deutschsprachige Bezeichnung verwendet. Zusätzlich wird an vielen Stellen aber auch auf die englischsprachige Variante hingewiesen, da Sie diese in vielen – teilweise selbst deutschsprachigen – Quellen finden und dadurch die Suche nach weiterführenden Informationen zu einem bestimmten Thema im Internet erleichtert wird – Beispiel: Sichten (engl. Views).

Benötigte Software

Da die Updatezyklen immer kürzer werden, dafür aber schnelle Internetverbindungen fast überall zugänglich sind, haben sich Autor und Verlag bewusst gegen eine Buch-DVD entschieden. Stattdessen finden Sie im Buchtext an den entsprechenden Stellen Verweise darauf, wo die benötigte Software in der gerade aktuellsten Version heruntergeladen werden kann. Das betrifft vor allem SQL Server 2022 Express with Advanced Services sowie das SQL Server Management Studio und die SQL Server Data Tools, die für die Beispiele genutzt wurden. Die Installation der Software ist in Kapitel 3, Installation und erste Schritte, ausführlich beschrieben.

Um die Beispiele selbst nachzuvollziehen, benötigen Sie also lediglich einen PC auf Basis von Windows 10 (oder neuer) bzw. Windows Server 2016 (oder neuer). Alles Weitere wird im Verlauf des Buchs installiert. Die detaillierten Hard- und Softwarevoraussetzungen sind ebenfalls in Kapitel 3, Installation und erste Schritte, beschrieben.

Eine Ausnahme bildet Kapitel 16, SQL Server und .NET Framework, da hier ein Ausblick auf die Entwicklung mit .NET gegeben wird. Wenn Sie die dort gezeigten Beispiele selbst ausprobieren möchten, benötigen Sie die Visual Studio 2022 Community Edition, die ebenfalls per kostenfreien Download bezogen werden kann. Auf die genauen Details dazu wird zu Beginn des entsprechenden Kapitels eingegangen.

Zusammenfassung

Dieses einführende Kapitel hat Ihnen einen Überblick darüber gegeben, wie dieses Buch aufgebaut ist und welche Schreibweisen darin verwendet werden.

Es wurde selbstverständlich alles unternommen, um die Richtigkeit des Buchinhalts und des Bonusmaterials sicherzustellen. Etwaige Korrekturen (nobody is perfect) und Änderungen finden Sie auf der Verlagswebsite unter folgender Adresse:

https://dpunkt.de/produkt/datenbankentwicklung-lernen-mit-sql-server-2022

Wenn Sie Kommentare, Fragen oder Anregungen zum Inhalt dieses Buchs oder des Begleitmaterials bzw. Fragen haben, die Sie auf den oben angegebenen Websites nicht klären konnten, senden Sie eine E-Mail an folgende Adresse:

[email protected]

Alternativ können Sie auch direkt den Autor anschreiben:

[email protected]

So, nun wünsche ich aber viel Vergnügen beim Lesen dieses Buchs und Entdecken der zahlreichen Möglichkeiten von SQL Server 2022 Express.

Robert Panther

Kapitel 2

Der Microsoft SQL Server

In diesem Kapitel lernen Sie

wie SQL Server zu dem geworden ist, was er heute ist

welche Neuerungen in der aktuellen 2022er-Version dazukamen

was sich bei SQL Server 2022 geändert hat

wodurch sich die verschiedenen Editionen des SQL Server voneinander unterscheiden

Historie des Microsoft SQL Server

Microsoft SQL Server kann auf eine bewegte Vergangenheit zurückblicken, die inzwischen über 30 Jahre dauert. Diese lange Zeit belegt natürlich auch, dass es sich bei diesem Datenbank-Management-System um ein sehr ausgereiftes Produkt handelt.

Sybase und die Anfänge des Microsoft SQL Server

Bereits 1988/89 kam die erste Version des SQL Server als Gemeinschaftsproduktion von Ashton-Tate, Sybase und Microsoft auf den Markt, damals noch primär für das Betriebssystem OS/2 gedacht. Der Funktionsumfang entsprach etwa der damaligen Sybase-Version 3.0 für Unix.

Das nächste wesentliche Release – immer noch für OS/2 – erschien vier Jahre später mit der Version 4.2, dicht gefolgt von der Version 4.21 für Windows NT, die zeitgleich mit Windows NT 3.1 erschien. Funktionsumfang und Leistungsfähigkeit waren noch recht beschränkt, doch nicht zuletzt die intuitive Oberfläche machte dieses Produkt zumindest als Datenbank für kleine Abteilungen interessant.

Microsoft SQL Server entsteht

Im Jahr 1994 beendeten Sybase und Microsoft ihre Zusammenarbeit. Microsoft erkämpfte sich die Rechte für alle Versionen für Microsoft-Betriebssysteme, während Sybase das Produkt unter dem Namen Sybase Adaptive Server weiterentwickelte. Ein Jahr später – nachdem große Teile der Datenbank-Engine des SQL Server komplett neu programmiert waren – erschien mit Version 6.0 der erste »richtige« Microsoft SQL Server. Sowohl Leistungsumfang als auch Performance waren stark verbessert, wodurch Microsoft SQL Server eine ernst zu nehmende Alternative für die etablierten Datenbank-Management-Systeme anderer Hersteller wurde, die meist ein Vielfaches kosteten.

Im Jahr 1996 wurde SQL Server 6.0 durch die Version 6.5 abgelöst, die allerdings keine wesentlichen neuen Features brachte, sondern vielmehr jede Menge Detailverbesserungen.

Auch wenn Sybase seit Version 6.0 keinen Einfluss mehr auf die Produktentwicklung hatte, waren bis zur Version 7.0, die 1998 erschien, immer noch Teile des alten Quellcodes darin enthalten. Mit der Version 7.0 allerdings wurde der Kern komplett neu entwickelt. Ein Jahr später kamen die OLAP Tools dazu, mit denen man in Kombination mit den ebenfalls integrierten Data Transformation Services ein Data Warehouse aufbauen konnte, was bis dahin nur wesentlich teureren Softwarelösungen vorbehalten war.

Der SQL Server wird erwachsen

Ab Version 8.0 – die im Jahr 2000 erschien – wurde der offizielle Produktname umgestellt, sodass die Software nun als SQL Server 2000 auf den Markt kam. Intern wurden die Versionsnummern aber auch nach dem alten Konzept weitergeführt, sodass es seitdem eine interne Versionsnummer und eine offizielle Produktbezeichnung gibt.

Die wesentlichen Neuerungen des SQL Server 2000 waren eine deutlich verbesserte Performance, Skalierbarkeit und Zuverlässigkeit, womit das Produkt für den Unternehmenseinsatz interessanter wurde. Parallel dazu wurden zwar auch die Lizenzkosten stark angehoben, sie lagen aber immer noch deutlich unter denen der Konkurrenz. So wundert es nicht, dass SQL Server 2000 ein Jahr nach seinem Erscheinen Oracle von der Spitzenposition der Datenbank-Management-Systeme für Windows verdrängte.

Etwas später kamen dann die Reporting Services als kostenfreies Add-on hinzu, womit SQL Server 2000 alle Komponenten für eine komplette Business-Intelligence-Lösung beinhaltete. Im Jahr 2003 erschien erstmals auch eine 64-Bit-Version von SQL Server (bei den darauffolgenden Versionen wurde diese immer nahezu zeitgleich mit der 32-Bit-Version ausgeliefert).

Der SQL Server bekommt neue Tools

Erst fünf Jahre nach dem Erscheinen von SQL Server 2000 kam mit SQL Server 2005 das nächste große Release auf den Markt und wusste gleich zu Beginn mit einer Fülle an neuen Features zu überzeugen. Neben einer wiederum verbesserten Datenbankperformance wurden komplett neue Clienttools mitgeliefert. So wurde beispielsweise der Enterprise Manager des SQL Server 2000 ab 2005 durch das SQL Server Management Studio abgelöst. Aber auch im Bereich Business Intelligence gab es bahnbrechende Neuerungen: Die alten Data Transformation Services wurden durch die sehr viel leistungsfähigeren SQL Server Integration Services (SSIS) abgelöst. Als Tool für OLAP und Data Mining wurden die SQL Server Analysis Services (SSAS) eingeführt. Konsequenterweise wurden natürlich auch die bereits für den SQL Server 2000 erhältlichen SQL Server Reporting Services (SSRS) in das Produkt integriert. Dazu kamen viele weitere Features wie .NET Framework-Integration, XML-Unterstützung, Service Broker und Notification Services.

Im August 2008 erschien dann der SQL Server 2008. Im Vergleich zur Vorgängerversion aus dem Jahr 2005 stellte SQL Server 2008 eine weitere Evolutionsstufe dar. Die meisten Bestandteile, die sich beim SQL Server 2005 bereits bewährt hatten, wurden beibehalten und konsequent weiterentwickelt. Hinzu kamen neue Datentypen (time, date, geometry, geography, hierarchyid), die Filestream-Technologie zur transaktional konsistenten Speicherung von Dateien im Dateisystem sowie mit dem neuen Merge-Statement und Tabellenwertparametern auch ein paar Erweiterungen von T-SQL.

Für die größeren Editionen von SQL Server wurden mit dem Performance Data Warehouse, den Plan Guides und dem Ressource Governor auch neue Performance-Features hinzugefügt. Außerdem wurden Möglichkeiten zur transparenten Datenbankverschlüsselung sowie zur Kompression von Datenbanken und Datenbanksicherungen eingeführt.

Im April 2010 erschien dann entgegen ursprünglichen Erwartungen nicht der SQL Server 2010, sondern der SQL Server 2008 R2, der auch den inoffiziellen Beinamen »BI Refresh« erhielt, da diese Version im Wesentlichen Erweiterungen im Bereich der Business-Intelligence-Komponenten erhielt. Dass aber auch in anderen Bereichen einiges geändert wurde, zeigt der entsprechende Abschnitt weiter unten in diesem Kapitel. Die Hauptversionsnummer wurde jedoch bewusst beibehalten, da die eigentliche Datenbank-Engine von SQL Server 2008 nahezu unverändert übernommen wurde.

Neue Speichertechnologien

Im März 2012 erschien dann mit dem SQL Server 2012 endlich wieder eine komplett neue Version des Datenbankservers, bei dem es in fast allen Bereichen – vom Kern bis hin zu den Tools – maßgebliche Neuerungen gab. Einen Überblick dazu finden Sie weiter unten in diesem Kapitel. Dieser Version folgte fast genau zwei Jahre später der SQL Server 2014, der vor allem die speicheroptimierten Tabellen einführte. Aber auch bestehende Technologien wie beispielsweise die spaltenbasierten Indizes wurden erweitert. Im Juni 2016 erschien dann SQL Server 2016, bei dem sowohl speicheroptimierte Tabellen als auch die mit SQL Server 2012 eingeführten spaltenbasierten Indizes überarbeitet wurden und nun sogar kombiniert eingesetzt werden konnten.

Nachdem die letzten drei Versionen jeweils im Abstand von etwa zwei Jahren auf den Markt kamen, wich Microsoft bei den folgenden Versionen von diesen gleichmäßigen Release-Zyklen wieder ab. So erschien der SQL Server 2017 nur ein Jahr später, die Folgeversion SQL Server 2019 wieder zwei und der aktuelle SQL Server 2022 sogar ganze drei Jahre später.

Die neuen Features, die für den Einstieg in SQL Server relevant sind, werden in den restlichen Kapiteln des Buchs ausführlicher beschrieben.

Kleiner Überblick über die wichtigsten Versionen und Builds

Insbesondere bevor die jeweiligen SQL Server offiziell auf dem Markt erscheinen, werden sie meist nur mit ihren Codenamen bezeichnet, die von Microsoft schon während der Entwicklung des Produkts vergeben werden (der eigentliche Produktname wird erst später festgelegt). Da diese Codenamen auch in vielen Blogs und Internetforen auftauchen, ist es sinnvoll, sie schon einmal gehört zu haben, um entscheiden zu können, ob sich ein Artikel auch auf die selbst genutzte Version von SQL Server bezieht.

Tabelle 2.1: Die Historie des SQL Server im Überblick

Mittlerweile ist Microsoft dazu übergegangen, ältere SQL Server-Versionen nach dem Erscheinungstermin noch etwa fünf Jahre lang zu supporten, sodass in diesem Zeitraum zu den meisten oben genannten Versionen diverse Updates und Service Packs erschienen sind, um dort kritische Fehler zu beheben.1 Nach dem regulären Supportende gibt es noch einmal wiederum etwa fünf Jahre lang erweiterten Support, der – wenn er benötigt wird – dann zahlungspflichtig ist.

Leider zeigt ein bereits installierter SQL Server nicht die Nummer des Service Pack, sondern nur die interne Build-Nummer an, daher hier eine kleine Übersicht der Service Packs zu den neueren SQL Server-Versionen.

Tabelle 2.2: Zuordnungstabelle der SQL Server-Build-Nummern und SQL Server Service Packs

Zusätzlich gibt es noch verschiedene Community Technology Previews, Release Candidates und Cumulative Updates, die hier nicht aufgeführt sind, um die Liste nicht zu unübersichtlich werden zu lassen.

Ein Punkt, in dem sich Microsoft mit dem SQL Server nach wie vor angenehm von der Konkurrenz abhebt, ist die Tatsache, dass kleinere Updates und Service Packs auch ohne Wartungsvertrag generell kostenfrei erhältlich sind.

CTPs, RTMs, Service Packs, Hotfixes und kumulative Updates

Bei den Versionsbezeichnungen aktueller Microsoft-Produkte werden verschiedene Begriffe verwendet, die zu Verwirrung führen können. Daher werden Ihnen die Begriffe hier erklärt:

 

Community Technology Preview (CTP)

Hierbei handelt es sich um Vorabversionen, die bereits den endgültigen Funktionsumfang beinhalten, aber der Benutzercommunity schon zur Verfügung gestellt werden, noch bevor sie zur eigentlichen Produktion freigegeben sind. In diesem Stadium können noch einzelne Features hinzukommen oder aber wieder wegfallen.

Release Candidate (RC)

Im Gegensatz zu den Community Technology Previews steht der Umfang der Features beim Release Candidate fest. Ein Release Candidate dient daher nur noch der Behebung von Fehlern. Werden beim Test Fehler gefunden, wird ein weiterer Release Candidate erstellt. Dieser Prozess wird so lange wiederholt, bis der aktuellste Release Candidate fehlerfrei ist.

Ready To Manufacturing (RTM)

Bei einer RTM-Version handelt es sich bereits um die endgültige Version des Produkts, die auch in derselben Form in Produktion geht.

Service Pack (SP)

Ein Service Pack ist ein größeres Update eines Produkts, das nicht selten auch wesentliche Erweiterungen des Funktionsumfangs beinhaltet. Ein Service Pack enthält normalerweise alle bis dahin erschienenen Updates sowie vorherige Service Packs.

Hotfix

Während neue Service Packs nur in relativ großen Zeitabständen verfügbar sind, erstellt Microsoft sehr häufig kleinere Updates, die nicht so umfangreiche Fehler beheben. Insbesondere wenn es sich um sicherheitsrelevante Fehler handelt, erscheinen diese sehr zeitnah nach deren Behebung in Form von Hotfixes.

Kumulatives Update (CU)

Da sich Hotfixes und andere Updates nach einiger Zeit ansammeln, werden diese von Zeit zu Zeit in kumulativen Updates zusammengefasst, die alle Updates seit dem letzten Service Pack beinhalten. Damit spart man sich die Einzelinstallationen der zahlreichen separaten Updates.

Schauen wir uns nun die wesentlichen Änderungen der letzten SQL Server-Versionen mal etwas genauer an. Dabei beschränke ich mich auf die noch mindestens im erweiterten Supportzeitraum befindlichen Versionen (ab SQL Server 2014).

Neuerungen bei SQL Server 2014

Bereits für SQL Server 2012 hat Microsoft drei wesentliche Slogans erdacht, die den wesentlichen Fokus dieser Version hervorheben. Diese haben sich auch mit der Version 2014 nur minimal verändert, was belegt, dass die generelle Ausrichtung des Produkts beibehalten wurde:

Mission Critical Performance

wurde beibehalten.

Aus

Breakthrough Insights

wurde Faster

Insights from any Data

.

Aus

Cloud on your Terms

wurde

Platform for Hybrid Cloud

.

Grob betrachtet, geht es also nach wie vor um die Schwerpunkte Enterprise (Mission Critical), Business Intelligence (Insights) und Cloud, allerdings unter leicht veränderten Aspekten.

Mission Critical Performance

Unter dem Aspekt Performance wurde der bereits mit SQL Server 2012 eingeführte Columnstore-Index um eine gruppierte Variante erweitert, deren Daten auch geändert werden können. Der nicht gruppierte Columnstore-Index bleibt dagegen weiterhin read-only.

Die wichtigste Neuerung in diesem Bereich ist allerdings die Einführung der In-Memory-Technologie. Damit können Tabellen in einem speicheroptimierten Format im Hauptspeicher gehalten werden, wodurch auch ein schreibender Zugriff ganz ohne Sperren ermöglicht wird. Während die Columnstore-Technologie primär auf Data-Warehouse-Lösungen abzielt, eignet sich die In-Memory-Technologie damit hervorragend für OLTP-Anwendungen mit vielen parallelen Zugriffen.

Als weitere Performanceneuerung ist es mit SQL Server 2014 auch möglich, Solid State Disks zur Erweiterung des Buffer Pool zu nutzen, wodurch mehr Daten zwischengespeichert werden können.

Auch die Hochverfügbarkeitslösung AlwaysOn wurde erweitert, sodass nun bis zu acht Replikate möglich sind. Diese können teilweise sogar auf Windows Azure-VMs in der Cloud liegen.

Platform for Hybrid Cloud

Insgesamt findet sich an vielen Stellen eine bessere Integration in die Cloud, da man eingesehen hat, dass die meisten Unternehmen nicht ihre gesamten Daten in die Cloud auslagern wollen, dass aber eine Kombination aus auf einem lokalen Server gespeicherten Daten mit Daten in der Cloud durchaus sinnvoll sein kann.

Selbst das Erstellen von Datenbanksicherungen, die in der Cloud gespeichert und aus dieser heraus direkt wiederhergestellt werden können, ist nun möglich.

Faster Insights from any Data

Im Business-Intelligence-Bereich wurden die wesentlichen Komponenten SQL Server Integration Services, Analysis Services und Reporting Services zwar nicht wesentlich weiterentwickelt, dafür wurde aber der Fokus mehr darauf gelegt, Daten aus anderen Quellen besser integrieren zu können. Insbesondere der Zugriff auf unstrukturierte Daten ist nun durch Technologien wie HDInsight möglich.

Neuerungen bei SQL Server 2016

Auch diese Version von SQL Server wurde wieder von drei Leitsätzen geprägt, die in ähnlicher Form schon von den Vorversionen SQL Server 2012 und 2014 bekannt sind:

Mission Critical Performance

Deeper Insights Across Data

Hyperscale Cloud

Die grundsätzlichen Schwerpunkte Enterprise (Mission Critical), Business Intelligence (Insights) und Cloud wurden also erneut beibehalten, die Details variieren dafür wieder etwas.

Mission Critical Performance

Im Bereich Performance sind vor allem die überarbeiteten nicht gruppierten Columnstore-Indizes (jetzt auch auf änderbaren Daten) sowie die verbesserten In-Memory-optimierten Tabellen zu sehen. Beide Technologien haben nun deutlich weniger Einschränkungen als zuvor und sind sogar kombiniert einsetzbar. Bis vor Kurzem waren beide Features der Enterprise Edition von SQL Server vorbehalten. Seit dem Service Pack 1 von SQL Server 2016 sind diese sogar mit der Express Edition nutzbar, allerdings mit deutlichen Einschränkungen hinsichtlich des hierfür nutzbaren Speichers (maximal 256 MB), weshalb der Einsatz nach wie vor speziell mit der Enterprise Edition sinnvoll ist.

Bei AlwaysOn-Hochverfügbarkeitsszenarien sind nun bis zu drei synchrone Kopien sowie eine Lastverteilung unter den sekundären Datenbanken möglich.

Aber auch die Sicherheit der Daten wurde erhöht, indem diese nun sowohl auf dem Datenträger verschlüsselt vorliegen als auch verschlüsselt transportiert werden können. Mit Features wie Row Level Security (Zugriffsrechte auf einzelne Zeilen) und Dynamic Data Masking (automatisches Verschleiern von Daten) können sogar individuellere Sicherheitsanforderungen umgesetzt werden.

Zur einfacheren Überwachung der Performance von Abfragen gibt es auch ein paar Neuerungen. So wurde der Abfragespeicher (Query Data Store) neu eingeführt, über den man Abfragen und ihre Ausführungspläne zur späteren Analyse dauerhaft protokollieren lassen kann. Außerdem gibt es die Möglichkeit, mit den Live Query Statistics den tatsächlichen Ausführungsplan einer Abfrage bereits anzeigen zu lassen, während die Abfrage läuft. Dabei wird stets aktualisiert, wie viele Zeilen (und wie viel Prozent der Zeilen) einen einzelnen Knoten des Plans schon durchlaufen haben, sodass man schnell Schwachstellen im Plan erkennen, die Abfrage aber auch komplett abbrechen kann, wenn der Ausführungsplan zu ungünstig ist.

Faster Insights from any Data

Im Business-Intelligence-Bereich steht nun die Verwendung von verschiedensten Datenquellen im Vordergrund. Hier sind besonders zwei Technologien hervorzuheben: Mit PolyBase ist es möglich, über SQL-Abfragen sowohl auf relationale als auch auf nicht relationale Daten zuzugreifen. Für komplexere Auswertungen und Analysen kann inzwischen auch die bereits etablierte Sprache R genutzt werden.

Aber nicht nur die Datenquellen werden vielfältiger, sondern auch die Frontends. So gibt es unter dem Stichwort Mobile BI native Apps zur Visualisierung von Daten für Windows, iOS und Android.

Auch die BI-Tools wurden überarbeitet. Insbesondere die Master Data Services erfuhren eine Runderneuerung. Bei den Integration Services ist es nun trotz eines projektbasierten Modells wieder möglich, wahlweise auch einzelne SSIS-Pakete zu deployen.

Hyperscale Cloud

Beim Thema Cloud steht in dieser Version von SQL Server die Skalierbarkeit im Vordergrund. Bereits in der Vorgängerversion wurde unterstützt, nur einen Teil der Daten in die Cloud zu verlagern. Dies wurde nun dadurch weiter verfeinert, dass die Stretch-Database-Funktionalität eingeführt wurde, mit der die weniger häufig verwendeten Daten transparent (ohne Änderung an der Anwendung) in die Cloud verschoben werden können. Auch die Migration von Daten zu Microsoft Azure wird jetzt von neuen und verbesserten Tools unterstützt.

Sonstige Neuerungen

Während viele der oben genannten neuen Features vor allem für die größeren Editionen relevant sind, gibt es auch eine ganze Reihe von kleineren Änderungen, die nicht so recht in eine der drei genannten Schwerpunktthemen passen, dafür aber auch für die Express Edition verwendbar sind.

Bei der Installation fällt schon auf, dass die Clienttools nun konsequent von der Installation des SQL Server selbst getrennt sind. So umfasst der eigentliche Installer lediglich die Serverkomponenten, während es sowohl für die SQL Server Data Tools als auch für die übrigen Clienttools (SQL Server Management Studio, SQL Server Profiler etc.) jeweils separate Installer gibt, auf die bei der Serverinstallation lediglich verwiesen wird. In Kombination mit der Tatsache, dass die Clienttools nun besser dafür ausgelegt sind, auch ältere Versionen von SQL Server zu bedienen, gibt dies die Möglichkeit, nur noch das jeweils aktuellste SQL Server Management Studio und die aktuellsten SQL Server Data Tools zu verwenden, auch wenn im Unternehmen unterschiedliche Versionen von SQL Server im Einsatz sind.

Zur Speicherung von nicht einheitlich strukturierten Daten bietet SQL Server jetzt neben XML auch die Alternative, diese im JSON-Format abzulegen und daraus mit entsprechenden Methoden gezielt bestimmte Daten wieder herauszulesen. Mit den neuen Temporal Tables lässt sich eine automatische Versionierung von Daten einer Tabelle erreichen. Über entsprechende Abfragen können dann die Daten einer Tabelle zu einem bestimmten Zeitpunkt abgefragt werden.

Dazu kommen noch ein paar kleinere Erweiterungen des Microsoft SQL-Dialekts T-SQL wie die DROP IF EXISTS-Anweisung und die STRING_SPLIT-Funktion, die zwar nichts bahnbrechend Neues bieten, einige SQL-Skripte aber doch etwas vereinfachen und übersichtlicher werden lassen.

Neuerungen bei SQL Server 2017

Mit SQL Server 2017 wechselt Microsoft auch bei SQL Server zu schnelleren Release-Zyklen, die als Nebeneffekt mit sich bringen, dass die Änderungen zur jeweiligen Vorgängerversion nicht mehr ganz so gravierend sind, wie man es bisher gewohnt war.

Trotzdem sind zahlreiche interessante Neuerungen in verschiedenen Bereichen des Produkts enthalten:

Änderungen an der Datenbank-Engine

Die vielleicht unauffälligsten, aber trotzdem zu den wichtigsten zählenden Neuerungen beziehen sich auf die effektivere Erstellung von Ausführungsplänen für Abfragen. So gibt es nun eine automatische Plankorrektur (Adaptive Query Processing), die Ausführungspläne unter bestimmten Umständen noch kurz vor der Ausführung anpasst. Hierdurch können Abfragen im Idealfall – ohne dass eine einzige Zeile Code geändert wird – deutlich schneller ausgeführt werden.

Sowohl die spaltenorientierten Indizes als auch die speicheroptimierten Tabellen wurden weiterentwickelt, sodass wieder einige Restriktionen entfallen sind, denen die Technologien bisher unterworfen waren.

T-SQL wurde um ein paar neue Konstrukte erweitert, darunter auch um eine Reihe von neuen Zeichenkettenfunktionen.

Als alternative Variante, Daten und deren Beziehungen untereinander zu speichern, bietet SQL Server nun die Möglichkeit, Graphdatenbanken zu nutzen, in denen die Daten in Knoten (Nodes) und die Beziehungen in Form von Kanten (Edges) gespeichert sind.

Überarbeiteter BI Stack

Bei den SQL Server Integration Services (SSIS) ist es nun möglich, mit dem neuen Scale Out-Feature die Ausführung von SSIS-Paketen auf mehrere Rechner zu verteilen, wobei die Überwachung der Ausführung trotzdem auf einem zentralen Master-Computer stattfindet.

Bei den SQL Server Analysis Services (SSAS) ist das tabulare Datenmodell nun als Standard voreingestellt. Dazu gibt es zahlreiche Detailverbesserungen wie beispielsweise neue Datenquellen, einen IN-Operator für die Abfragesprache DAX und vieles mehr.

Die SQL Server Reporting Services (SSRS) sind jetzt nicht mehr im Installationsprogramm von SQL Server verfügbar, sondern müssen nachträglich separat installiert werden. Dafür können nun Kommentare in Reports untergebracht werden, und auch native DAX-Abfragen auf ein SSAS-tabulares Datenmodell sind in den Reporting Services möglich.

Selbst die Master Data Services (MDS) erfahren mit SQL Server 2017 eine Weiterentwicklung, die sich vor allem auf eine gesteigerte Performance beziehen. Aber auch die MDS-Webanwendung wurde überarbeitet und ermöglicht nun im Explorer die sortierte Anzeige von Entities, Collections und Hierarchies.

Im Bereich Machine Learning wurden die SQL Server R Services umbenannt in SQL Server Machine Learning Services und unterstützen nun neben der Sprache R auch Python, wodurch die Nutzung vieler Open-Source-Bibliotheken ermöglicht wird.

Sonstige Neuerungen

Eine der größten Neuerungen von SQL Server 2017 ist sicherlich, dass das Produkt nun auf weiteren Plattformen wie Linux oder in einem Docker-Container genutzt werden kann.

Neuerungen bei SQL Server 2019

Auch bei SQL Server 2019 wurde die grundlegende Richtung beibehalten. Die Evolution des Produkts setzt sich also fort, wie die neuen Leitsätze zeigen, die im Folgenden näher erläutert werden:

Datensilos eliminieren

Mit SQL Server 2019 können nun Daten aus dem gesamten Datenbestand abgefragt werden, ohne dass die Notwendigkeit besteht, diese vorher in einem gemeinsamen Data Warehouse zusammenzuführen. Somit lassen sich ohne zusätzliche Kopien der Daten schneller neue Erkenntnisse aus komplexen Datenanalysen gewinnen.

Wählen Sie Ihre Plattform und Sprache

Die mit der SQL Server 2017 begonnene Öffnung zu anderen Plattformen wie Linux und Docker wird konsequent weitergeführt, indem nun auch Kubernetes sowie als weitere Sprache neben R und Python jetzt auch Java unterstützt wird.

Verlassen Sie sich auf eine Leistungsstärke, die in der Branche führend ist

Performance und Skalierbarkeit bleiben wichtige Faktoren, um eine hohe Verfügbarkeit für geschäftskritische Anwendungen, Data Warehouses und Data Lakes zu gewährleisten. SQL Server gewährleistet dies, ohne dass dabei Änderungen an den Anwendungen erforderlich sind, sodass die Datenbank mit steigenden Anforderungen mitwachsen kann.

So wurde beispielsweise das mit der Vorversion eingeführte Adaptive Query Processing zum neuen Intelligent Query Processing weiterentwickelt, durch das noch bessere Ausführungspläne für SQL-Abfragen erzeugt werden.

Vertrauen Sie unserer langjährigen Führungsposition im Bereich Sicherheit

Seit vielen Jahren zählt SQL Server zu den sichersten Datenbank-Management-Systemen. Mit integrierten Features für Datenklassifizierung, Datenschutz, Überwachung und Warnungen erhält man weitere Unterstützung, um Sicherheits- und Compliance-Ziele zu erfüllen.

Treffen Sie schnellere und bessere Entscheidungen

Mit den Berichtsfunktionen der SQL Server Reporting Services und dem eingebauten Power BI Report Server lassen sich interaktive Power BI-Berichte umsetzen, mit denen auf verschiedenen Endgeräten schnell Erkenntnisse aus den Daten gewonnen werden können.

Neuerungen bei SQL Server 2022

Die Entwicklungszeit bis zum SQL Server 2022 war wieder etwas länger als bei den vorangegangenen Releases, zumal das Produkt erst Mitte November des Jahres 2022 in der finalen RTM-Version verfügbar war. Das lässt jedoch hoffen, dass das Produkt dafür umso ausgereifter und stabiler ist, zumal die wesentlichen Leitsätze der Vorversion in abgewandelter Version beibehalten wurden:

Business Continuity dank Azure

Durch besseres Zusammenspiel mit einer in der Cloud befindlichen Azure SQL Managed Instance lässt sich eine neue – vollständig verwaltete – Form der Notfallwiederherstellung realisieren. Dazu werden Daten zwischen der Datenbank on-premise und in der Cloud kontinuierlich repliziert, sodass im Falle eines Ausfalls die Datenbank in der Cloud schnell einspringen kann.

Durchgängige Analyse von On-Premise-Betriebsdaten

Mit dem neuen Azure Synapse Link können sowohl Spark- als auch SQL-Runtimes in der Cloud genutzt werden, um Daten, die on-premise vorgehalten werden, übergreifend zu analysieren. Dabei spielt es keine Rolle, ob es sich um operative (transaktionale) Daten oder analytische Daten (beispielsweise in einem Data Warehouse) handelt.

Transparenz für Ihren gesamten Datenbestand

Das Überwinden von Datensilos wird im neuen SQL Server mit der Integration von Azure Purview unterstützt, mit dessen Hilfe der gesamte Datenbestand verwaltet werden kann. So können Metadaten von On-Premise-Datenbanken automatisiert ausgelesen werden. Anschließend können Daten über vorgefertigte oder benutzerdefinierte Regeln klassifiziert werden, um festzulegen, wie sensibel und damit schützenswert diese sind.

Eine der sichersten Datenbanken der letzten 10 Jahre

Der gerade im Geschäftsumfeld wichtige Aspekt der Datensicherheit steht auch bei der aktuellen Version stark im Fokus. Dies wird durch die Einführung eines unveränderlichen Ledgers, mit dem Daten vor Manipulation durch Dritte geschützt werden können, noch verbessert.

Branchenführende Performance und Verfügbarkeit

Das Intelligent Query Processing wurde zum Intelligent Query Processing NextGen weiterentwickelt, um eine schnellere Ausführung von Abfragen ohne jegliche Codeänderungen zu ermöglichen. Dabei werden auch Ergebnisse aus dem Abfragespeicher (Query Store) genutzt, der nun standardmäßig aktiviert ist.

Neben diesen Hauptbereichen gab es aber auch viele Detailänderungen und kleine Verbesserungen. Selbst im Sprachumfang von T-SQL kamen einige neue Funktionen hinzu, auf die im weiteren Verlauf des Buchs noch eingegangen wird.

Die verschiedenen SQL Server-Editionen im Vergleich

Vom Microsoft SQL Server gibt es mittlerweile eine ganze Reihe von unterschiedlichen Editionen, von denen die in diesem Buch hauptsächlich behandelte Express Edition nur eine Variante darstellt. Dazu gibt es vor allem die Haupteditionen Standard (für kleinere und mittlere Unternehmen) und Enterprise (für große Unternehmen mit Bedarf an hoher Ausfallsicherheit). Die mit SQL Server 2012 eingeführte Business Intelligence Edition ist dagegen seit SQL Server 2016 wieder weggefallen, sodass man sich für BI-Szenarien zwischen den beiden verbleibenden Haupteditionen (Standard und Enterprise) entscheiden muss.

Um abzuschätzen, welche Edition für welches Datenbankprojekt am sinnvollsten ist, habe ich hier eine kleine Übersicht zusammengestellt:

Tabelle 2.3: Obergrenzen der verschiedenen SQL Server 2022-Editionen für CPUs, Hauptspeicher und Datenbankgröße

Da sich die Lizenzen inzwischen nicht mehr auf die echten Prozessoren, sondern auf die Anzahl der Prozessorkerne beziehen, wurden auch die Beschränkungen für die Editionen entsprechend angepasst, sodass hier jeweils Obergrenzen für CPUs und Prozessorkerne zu finden sind.

Hardware- und Betriebssystembeschränkungen beachten

Auch dort, wo in der obigen Tabelle »unbegrenzt« angegeben ist, gelten natürlich die Obergrenzen, die vom Betriebssystem und der verwendeten Hardware vorgegeben werden.

SQL Server Compact Edition

Während alle anderen Editionen des SQL Server aufeinander aufbauen (und jeweils alle Features der kleineren Editionen beinhalten), nimmt SQL Server Compact Edition eine Sonderstellung ein. Hierbei handelt es sich nicht um eine Datenbank, die von einem speziellen Datenbankdienst verwaltet wird, sondern eher um ein einfaches Datenbankmodul, das prozessintern verwendet werden kann und für die lokale Speicherung von Daten ausgelegt ist.

Dadurch lässt es sich leicht in Anwendungen einbetten und ist sogar für mobile Geräte auf Basis von Windows Mobile (wie beispielsweise Smartphones) nutzbar. Hier ist auch die Herkunft des Produkts zu sehen, das seine Ursprünge in SQL Server CE bzw. später in SQL Server Mobile hat. Dieses Datenbankformat war jedoch ausschließlich auf mobilen Geräten nutzbar, was das Entwerfen von Datenbanken nicht gerade vereinfachte. Mit der Ablösung von SQL Server Mobile durch die Compact Edition wurde diese Beschränkung aufgehoben, sodass es endlich ein einheitliches Datenformat für mobile Geräte und Desktop-PCs gab.

Komplizierter wurde es allerdings wieder mit der Einführung von Windows Phone. Während mit Windows Phone 7 die SQL Compact Edition für Entwickler gar nicht nutzbar war, wurde dies mit Windows Phone 7.5 (Codename Mango) wieder etwas korrigiert. Allerdings liegen die Datenbanken hier im sogenannten Isolated Storage, der von außen nicht ansprechbar ist. Es ist also nicht mehr möglich, eine SQL Server Compact-Datenbank einfach auf das Smartphone zu kopieren, wie es mit Windows Mobile 6.x noch der Fall war. Der Zugriff aus der Anwendung auf die Daten ist auch ausschließlich per LINQ to SQL möglich und nicht direkt per T-SQL.

SQL Server Compact und Windows Phone

Der Grund dafür, dass SQL Server Compact auf Windows Phone 7 ursprünglich gar nicht und mit Windows Phone 7.5 nur eingeschränkt möglich ist, liegt im Gesamtkonzept von Windows Phone. Dieses sieht vor, dass auf dem Gerät keine größeren Datenmengen gespeichert werden, sondern auf diese bei Bedarf online (beispielsweise aus einer SQL Azure-Datenbank) zugegriffen wird. Für die lokale Speicherung von kleinen Datenmengen – wie beispielsweise Konfigurationsdaten – werden XML-Dateien favorisiert.

 

Mittlerweile spielt Windows Phone jedoch keine Rolle mehr, wodurch auch die SQL Server Compact Edition an Bedeutung verloren hat und auch seit vielen Jahren nicht mehr weiterentwickelt wird.

Wesentlicher Nachteil bei diesem Produkt ist, dass sich die Compact Edition aufgrund der prozessinternen Nutzung nicht für Mehrbenutzerszenarien eignet. Ideal dagegen ist die Compact Edition für selbst entwickelte Desktop- oder Pocket PC- bzw. Smartphone-Anwendungen, die eine Möglichkeit der internen Datenspeicherung benötigen (beispielsweise für die Speicherung von Konfigurationseinstellungen).

Wie die Express Edition kann auch die Compact Edition kostenlos heruntergeladen, verwendet und zusammen mit eigenen Anwendungen weiterverteilt werden. Da SQL Server Compact jedoch nicht mehr weiterentwickelt wird, ist für die meisten Anwendungsszenarien die Verwendung der SQL Server LocalDB vorzuziehen.

SQL Server Compact Edition wird in Kapitel 20 im Abschnitt »Die SQL Server Compact Edition« auf Seite 446 ausführlicher behandelt.

SQL Server Express Edition

Die Express Edition ist ebenfalls kostenfrei erhältlich. Im Gegensatz zur Compact Edition handelt es sich hierbei jedoch um ein vollwertiges Multiuser-Datenbank-Management-System, das auch einen dedizierten Datenbankserverdienst beinhaltet. Obwohl der Schwerpunkt auf die lokale Datenspeicherung gelegt wurde, ist die Express Edition auch für Client-Server-Szenarien nutzbar. Damit bildet SQL Server Express (den es seit der 2005er-Generation des SQL Server gibt) das Nachfolgeprodukt der Microsoft Data Engine (MSDE). Die zugrunde liegende Technik ist jedoch dieselbe wie die der größeren SQL Server-Editionen, wodurch eine einfache Skalierbarkeit gewährleistet wird. Eine existierende Datenbank kann also einfach in eine größere Server-Edition »umgehängt« werden, wenn die Leistung der Express Edition einmal nicht mehr ausreichen sollte.

Aber selbst von der Express Edition gibt es Untervarianten. Die eigentliche Express Edition beinhaltet keine Administrationsoberfläche. SQL Server Express mit Advanced Services enthält einige Zusätze wie beispielsweise die Reporting Services, mit denen sich ansprechende Berichte erstellen und verwalten lassen, die Integration der Programmiersprachen R und Python sowie die weiter unten beschriebene SQL Server LocalDB. Vor SQL Server 2016 gab es noch eine dritte Variante mit der Bezeichnung SQL Server Express mit Tools, die der Grundvariante ergänzt um eine einfache Version des SQL Server Management Studio entsprach. Da das SQL Server Management Studio mittlerweile ohnehin separat installiert werden muss, ist diese Variante überflüssig geworden und weggefallen.

Ab dem Service Pack 1 von SQL Server 2016 (und damit auch mit SQL Server 2017, 2019 und 2022) ging Microsoft dazu über, viele Features, die bis dahin nur den größeren Editionen vorbehalten waren, auch in der Express Edition nutzbar zu machen, damit möglichst jeder diese Features ausprobieren kann und auch T-SQL-Code möglichst für alle Editionen unverändert genutzt werden kann. Der Unterschied zu den größeren Editionen liegt seitdem vor allem in den unterschiedlichen Begrenzungen für Datenbankgrößen sowie die Hauptspeicher- und Prozessornutzung (siehe Tabelle zu Beginn dieses Abschnitts).

SQL Server Web Edition

Die SQL Server Web Edition ist – wie der Name schon vermuten lässt – speziell für den Einsatz auf Webservern vorgesehen. In den meisten Punkten entspricht der Leistungsumfang in etwa der Standard Edition. Lediglich bei den Entwicklungstools sowie dem Management Studio (das auch hier nur in der Grundvariante enthalten ist) orientiert sich die Ausstattung an der Express Edition.

Das Alleinstellungsmerkmal im Vergleich zu den anderen Editionen ist aber sicherlich das Lizenzierungsmodell, da bei dieser Edition nicht nach Clients lizenziert wird (was sich beim Webeinsatz auch schwer ermitteln ließe), sondern ein Betrag pro CPU bzw. Prozessorkern und Monat der Nutzung anfällt.

SQL Server Standard Edition

Die SQL Server Standard Edition ist, wie der Name bereits sagt, als Standardlösung für produktive Server gedacht. Im Gegensatz zur größeren Enterprise Edition richtet sich die Standard Edition aber primär an kleine und mittelgroße Unternehmen und beinhaltet alle wesentlichen Features inklusive der Business-Intelligence-Komponenten.

SQL Server Enterprise Edition

Die Enterprise Edition ist vor allem für den Einsatz in großen Unternehmen konzipiert. Selbstverständlich bietet die Enterprise Edition alle verfügbaren Features der kleineren Editionen, wobei vor allem großer Wert auf Ausfallsicherheit und Hochverfügbarkeit gelegt wurde.

Da die Nutzung der Enterprise Edition mit recht hohen Lizenzkosten verbunden ist, gibt es hierzu auch eine Evaluationsversion, mit der man das Produkt 180 Tage lang kostenfrei testen kann. Diese Zeit sollte sicherlich ausreichen, um auch komplexere Testszenarien aufbauen zu können.

Da die Datacenter Edition – die mit SQL Server 2008 R2 eingeführt wurde – bei SQL Server 2012 wieder weggefallen ist, sind damit auch die (ohnehin recht weit gefassten) Beschränkungen zu CPU und Hauptspeicher für die Enterprise Edition wieder aufgehoben worden.

StreamInsight jetzt auch für kleinere Editionen verwendbar

Das bisher der Datacenter Edition und der Parallel Data Warehouse Edition vorbehaltene StreamInsight, mit dem sich eine Echtzeitdatenverarbeitung von komplexen Ereignissen realisieren lässt, ist nun auch für kleinere Editionen nutzbar. So gibt es für SQL Server 2012 Enterprise eine Premium-Edition von StreamInsight, die auch Hochverfügbarkeit unterstützt, während die Standard-Edition von StreamInsight mit SQL Server 2012 sogar für die Standard und Web Edition verwendbar ist.

SQL Server Parallel Data Warehouse Edition

Um die massiv parallele Verarbeitung zu nutzen, können mehrere Server wahlweise als sogenannte Control Nodes oder Compute Nodes miteinander arbeiten. Dazu ist eine Partitionierung von extrem großen Tabellen über mehrere Knoten hinweg (Sharding) möglich.

SQL Server Developer Edition

Die Developer Edition stellt eine Besonderheit dar, da sie alle Features der Enterprise Edition beinhaltet, jedoch mittlerweile kostenlos erhältlich ist.2 Die Ursache dafür erklärt sich daraus, dass die Developer Edition nicht zum produktiven Serverbetrieb lizenziert ist, sondern lediglich zur Entwicklung von Datenbanken bzw. Datenbankanwendungen. Dazu gibt es noch eine weitere Abweichung, die die Developer Edition interessant macht: Während die Enterprise Edition nur auf den Servervarianten von Windows eingesetzt werden kann, lässt sich die Developer Edition auch auf den Arbeitsplatzversionen – wie beispielsweise Windows 10 – installieren und verwenden.

Daher ist es in vielen Entwicklerteams üblich, dass die Entwickler lokal mit einer Developer Edition entwickeln und die größeren Editionen wie beispielsweise Standard oder Enterprise Edition lediglich als Staging- und Testserver zum Einsatz kommen.

SQL Server LocalDB

Bei allen zuvor genannten Editionen – mit Ausnahme von SQL Server Compact – wird seit SQL Server 2012 die SQL Server LocalDB mitgeliefert, die aber auch separat aus dem Internet heruntergeladen werden kann. Dabei handelt es sich um eine Variante von SQL Server Express, die nicht im Kontext eines Serverdiensts läuft, sondern als Benutzerinstanz bei Bedarf gestartet wird. Im Gegensatz zu SQL Server Compact ist sie voll kompatibel zur jeweils passenden Version von SQL Server 2016, sodass diese Komponente zumindest im Desktopbereich die Compact Edition ablösen dürfte.

SQL Azure

Im Zusammenhang mit der neuen Windows Azure Service Platform wird natürlich auch ein entsprechender Datenbankservice angeboten. Dieser war ursprünglich unter dem Namen SQL Data Services geplant, wurde inzwischen aber durch SQL Azure abgelöst. In beiden Fällen handelt es sich aber nicht um ein Produkt, das Sie auf einem lokalen Server installieren können, sondern um einen Service, der in einem Microsoft Data Center gehostet wird. Mittlerweile wurde aus SQL Azure die Azure SQL Datenbank (Azure SQL Database), zu der später als Alternative auch noch die Verwaltete Azure SQL Instanz (Azure SQL Managed Instance) dazu kam.

Beide Varianten werden in Kapitel 21, SQL Server und die Cloud, ausführlicher behandelt.

Übungen zu diesem Kapitel

In diesem Abschnitt finden Sie einige Übungen, mit denen Sie das in diesem Kapitel Erlernte vertiefen können. Die richtigen Antworten und Lösungen finden Sie in Anhang C dieses Buchs.

Übung 2.1

Wodurch unterscheidet sich das mit SQL Server 2022 neu überarbeitete Intelligent Query Processing NextGen von der Vorversion?

Übung 2.2

Welche Möglichkeit bietet SQL Server neben dem XML-Format noch, um nicht einheitlich strukturierte Daten zu speichern?

Übung 2.3

Welche der beiden verfügbaren Express-Editionen (Express, Express mit Advanced Services) können Sie verwenden, wenn Sie die SQL Server Reporting Services nutzen möchten?

Übung 2.4

Wodurch unterscheiden sich Enterprise und Developer Edition von SQL Server?

Zusammenfassung

Nach einem kurzen Überblick über die Historie des Produkts hat dieses Kapitel Sie mit den Neuerungen der 2022er-Generation des SQL Server vertraut gemacht.3

Änderungen an der Datenbank-Engine:

Intelligent Query Processing NextGen

Query Store standardmäßig aktiviert

T-SQL-Erweiterungen

Zusammenarbeit mit der Cloud:

Verbindung mit einer Azure SQL Managed Instance

Analysieren von On-Premise-Datenbanken mit Azure Synapse Link

Verwalten und Klassifizieren von On-Premise-Daten mit Azure Purview

Überarbeiteter BI Stack:

Machine Learning: Neben R und Python wird nun auch Java unterstützt.

Sonstiges:

SQL Server Ledger zur Sicherstellung der Datenintegrität

Nutzung von SQL Server mit Kubernetes

Anschließend haben Sie einen Überblick über die verschiedenen Editionen des SQL Server bekommen:

SQL Server Compact Edition kostenfreies, prozessintern verwendetes Datenbankmodul, das in Form von Assemblies mit eigenen Anwendungen verteilt werden kann

SQL Server Express Edition kostenfreie Variante des SQL Server, die vor allem für Privatanwender sowie zum Kennenlernen der SQL Server-Produktfamilie geeignet ist

SQL Server Web Edition für den Einsatz auf Webservern optimierte Variante, die nicht pro Client, sondern ausschließlich pro Prozessorkern und Nutzungsmonat lizenziert wird

SQL Server Standard Edition Standardvariante des SQL Server, die für kleinere und mittelgroße Unternehmen konzipiert ist

SQL Server Business Intelligence Edition Edition, die für die Nutzung im BI-Umfeld optimiert ist

SQL Server Enterprise Edition Edition, die für große Unternehmen gedacht und auf Stabilität und optimale Skalierbarkeit ausgelegt ist

SQL Server Developer Edition gleicher Funktionsumfang wie die Enterprise Edition, aber nur zu Entwicklungszwecken lizenziert

SQL Server Parallel Data Warehouse Edition vom Funktionsumfang mit der Enterprise Edition vergleichbar, wird aber als Komplettlösung zusammen mit zertifizierter Hardware angeboten

SQL Azure Cloud-basierte Variante des SQL Server

Nun wird es Zeit, die Express Edition von SQL Server zu installieren, damit Sie das Produkt gleich ausprobieren können.

Kapitel 3

Installation und erste Schritte

In diesem Kapitel lernen Sie

welche Systemvoraussetzungen für die Installation von SQL Server 2022 Express erfüllt sein müssen

wo Sie die Installationsdateien für SQL Server 2022 Express erhalten können

welche Einstellungen bei der Installation vorzunehmen sind

welche die wichtigsten Tools für SQL Server sind und was Sie damit machen können

Systemvoraussetzungen

Um SQL Server installieren zu können, muss eine Reihe von Systemvoraussetzungen gegeben sein, die sich sowohl auf die Hardware als auch auf die Software Ihres PCs beziehen. Je nachdem, welche Variante von SQL Server Express Sie installieren möchten, unterscheiden sich diese ein wenig. Sofern aber im Folgenden nicht explizit darauf hingewiesen wird, gelten die Beschreibungen für beide verfügbaren Varianten (SQL Server 2022 Express und SQL Server 2022 Express mit Advanced Services).

Hardwarevoraussetzungen

Prozessor:

Intel-kompatibler x64-Prozessor mit mindestens 1,4 GHz

generell werden 2 GHz oder mehr empfohlen

nur ein einzelner Prozessor wird unterstützt

Hauptspeicher:

mindestens 512 MB RAM

1 GB oder mehr werden empfohlen

Festplatte:

6,6 GB freier Festplattenspeicherplatz für SQL Server 2022 Express mit Advanced Services

der Platzbedarf für die Variante ohne Tools und Advanced Services ist entsprechend geringer

während der Installation wird temporär zusätzlicher Platz für die entpackten Installationsdateien benötigt

Generell muss man die Prozessorfrequenz nicht ganz so genau nehmen, wichtiger sind der freie Plattenplatz, damit das Produkt überhaupt installiert werden kann, sowie die Angaben zum Hauptspeicher, damit SQL Server auch in vertretbarer Geschwindigkeit ausgeführt wird.

Will man die SQL Server-Performance durch Aufrüstung der Hardware steigern, lässt sich das am einfachsten und günstigsten durch Vergrößern des Hauptspeichers erreichen.

Softwarevoraussetzungen

Im Gegensatz zu den größeren Varianten von SQL Server, die (mit Ausnahme der Developer Edition) nur auf den Windows Server-Varianten lauffähig sind, können Sie SQL Server 2022 Express auch auf den gängigen Desktopbetriebssystemen nutzen. Da analog zu Windows Server mittlerweile auch SQL Server nur noch in der 64-Bit-Variante verfügbar ist, muss bei den Desktopbetriebssystemen darauf geachtet werden, dass hier ebenfalls die 64-Bit-Variante zum Einsatz kommt.

Unterstützte Betriebssysteme:

Windows 10 (64 Bit) Home / Professional / Enterprise / IoT Enterprise

Windows 11 (64 Bit) Home / Professional / Enterprise / IoT Enterprise

Windows Server 2016 Essentials / Standard / Datacenter / Core

Windows Server 2019 Essentials / Standard / Datacenter / Core