Index Rebuild in SQL Server 2019

Anders als beim SQL Server 2017, bei dem nur eine wiederaufnehmbare Online-Indexwiederherstellung durchgeführt werden kann, verfügt SQL Server 2019 über die Funktion Resumable Online Index Create. Doch wofür wird diese Funktion genau gebraucht? Angenommen, wir müssen einen Index für eine sehr große Tabelle mit über einer Millionen Zeilen erstellen. Das Erstellen dieses Index würde einige Zeit in Anspruch nehmen. Während der Erstellung des Index könnte ein unerwarteter Fehler auftreten, es könnte zu Leistungsproblemen oder einem Failover kommen, und die Anweisung zum Erstellen des Indexes muss abgebrochen werden. Dies würde sehr viel Zeit, Ressourcen und Nerven kosten, da der Index anschließend …

Weiterlesen …Index Rebuild in SQL Server 2019

SQL Server 2019 – Neuerungen der Hochverfügbarkeit

Beim Ausrollen eines neuen SQL Servers ist das Sicherstellen der Verfügbarkeit aller kritischen SQL Server Instanzen und den darin befindlichen Datenbanken in vielen Umgebungen eine wichtige Aufgabe. Die Verfügbarkeit im Allgemeinen bekommt beim SQL Server ein besonderes Augenmerk und stellt damit eine tragende Säule der Anwendung dar. Seit der mit dem SQL Server 2019 veröffentlichten Neuerungen gibt es einige neuen Features und Updates der Hochverfügbarkeit. Verfügbarkeitsgruppen Seit SQL Server 2019 (Version 15.x) ist die Anzahl der maximalen synchronen Replikate auf 5 erhöht worden. Dabei kann zusätzlich ein Failover innerhalb der Gruppe spezifiziert werden. Die Gruppe selbst kann aus genau einem …

Weiterlesen …SQL Server 2019 – Neuerungen der Hochverfügbarkeit

Verschlüsselung einer Datenspalte und Transparente Datenverschlüsselung

Im folgenden Artikel möchten wir (ergänzend zu dem hier beschriebenen Always Encrypted-Verfahren) zwei weitere Verschlüsselungsmethoden des SQL Server genauer betrachten: zum einen die Verschlüsselung einer einzelnen Datenspalte, zum anderen die Anwendung der transparenten Datenverschlüsselung. Verschlüsselung einer einzelnen Datenspalte Die Verschlüsselung von Datenspalten (engl. Column-level encryption) ermöglicht dem Benutzer die Verschlüsselung einzelner Spalten einer Tabelle, ohne dabei die gesamte Datenbank verschlüsseln zu müssen. Der Vorteil hierbei ist die erhöhte Flexibilität in der Selektion der Attribute, die verschlüsselt werden sollen. Das Resultat ist die Minimierung der Ressourcen die beim Einfügen oder Auslesen von Daten für das Ver- und Entschlüsseln benötigt werden. Vorteile …

Weiterlesen …Verschlüsselung einer Datenspalte und Transparente Datenverschlüsselung

SQL Server 2019 – Neuerungen in der Übersicht

Mit der Veröffentlichung von SQL Server 2019 feiert Microsoft das 25-jährige Jubiläum des relationalen Datenbankenmanagementsystems (RDMS). In diesem Artikel möchten wir Ihnen die Änderungen der jüngsten Veröffentlichung erklären. Das größte Augenmerk des Releases liegt vermutlich auf dem neuen Umgang bezüglich der Kompatibilität von SQL Servern mit verschiedenen Betriebssystemen und Programmiersprachen. Doch neben zahlreichen anderen Änderungen, hat auch die in SQL Server 2016 veröffentlichte PolyBase Neuerungen zu verzeichnen. Im Bezug auf Performanz und Sicherheit macht Microsoft seine Vorteile deutlich: SQL Server 2019 wird sowohl im Bezug auf OLTP Performanz basierend auf TPC-Benchmarks, als auch im Bezug auf Data-Warehousing basierend auf TPC-H-Benchmarks …

Weiterlesen …SQL Server 2019 – Neuerungen in der Übersicht

Die richtige Verwendung der In-Memory Optimized TempDB in SQL Server 2019

Mit der Veröffentlichung von SQL Server 2019 führt Microsoft eine ganze Reihe neuer Features und Verbesserungen ein. Eine dieser Erneuerungen ist die In-Memory Optimized TempDB. Die In-Memory-Datenbanktechnologie wurde erstmals mit SQL Server 2014 eingeführt. Sie erlaubt es, Daten direkt in den Arbeitsspeicher (RAM) abzulegen statt diese auf einer herkömmlichen Festplatte zu speichern. Dadurch lassen sich wesentlich höhere Zugriffsgeschwindigkeiten realisieren. Allerdings fallen hierdurch deutlich höhere Kosten an, da RAM als Festplattenspeicher erheblich teurer ist, was sich vor allem bei größeren Datenbanken bemerkbar macht. Als Teil der In-Memory Database führt Microsoft in SQL Server 2019 die Memory-Optimized TempDB ein. Die TempDB selbst …

Weiterlesen …Die richtige Verwendung der In-Memory Optimized TempDB in SQL Server 2019

Beschleunigte Datenbank Wiederherstellung (ADR) mit SQL Server 2019

Mit dem SQL Server 2019 wurde von Microsoft ein neues Feature mit dem Namen ADR (Accelerated Database Recovery) vorgestellt. Eigentlich handelt es sich dabei nicht um ein neues Feature, sondern viel mehr um die Überarbeitung der Wiederherstellungs-Mechanismen, wie man sie aus den Vorgängerversionen kennt. Eine neue Komponente mit dem Namen Persistenter Versionsspeicher (PVS) wird benutzt, um Zeilen nach Änderungen über einen längeren Zeitraum noch verfügbar zu machen. In Verbindung mit sog. logischer Wiederherstellung kann die Transaktionsverarbeitung erheblich beschleunigt werden. Zusätzlich sorgt ein neuer sLog (eng. secondary log stream, also ein sekundärer Protokolldatenstrom) dafür, dass Wartezeiten im Prozess der Transaktionsverarbeitung verkürzt …

Weiterlesen …Beschleunigte Datenbank Wiederherstellung (ADR) mit SQL Server 2019

Java ausführen mit SQL Server 2019

Dank der Spracherweiterungen (engl. Language Extensions) des SQL Servers 2019 ist es möglich, externe Programme über den SQL Server ausführen zu lassen. In einem unserer vorherigen Artikel (hier) haben wir bereits beschrieben was Spracherweiterungen sind und was sie für den Umgang mit SQL Server 2019 bedeuten. In diesem Artikel betrachten wir die zu treffenden Vorkehrungen, um mit Hilfe einer solchen Spracherweiterung und Java ein simples “Hello World!”-Programm auf dem SQL Server auszuführen. Die zu dieser Anleitung gehörigen Quelldateien sind auch auf unserer Github-Seite zu finden. Voraussetzung: Um die Spracherweiterung auf dem SQL Server nutzen zu können, wird eine Installation der …

Weiterlesen …Java ausführen mit SQL Server 2019

Was ist eine SQL Server Language Extension?

Bei Language Extension handelt es sich um ein Feature von SQL Server, das den Benutzer bei der Ausführung von einem externem Code unterstützt. Mit der Einführung von SQL Server 2019 wird nun auch, standardmäßig mit Zulu Open JRE als Laufzeitumgebung, die Programmiersprache Java unterstützt. Es können jedoch auch andere Java Laufzeitumgebungen verwendet werden. Wie können Language Extensions verwendet werden? Um den externen Code auszuführen, verwendet die Language Extension das sogenannte Erweiterungsframework. Hierbei findet die Codeausführung komplett isoliert von allen Kernprozessen des Moduls statt, ist jedoch vollständig in die SQL Server-Abfrageausführung integriert. So müssen keine Daten über das Netzwerk abgerufen werden, …

Weiterlesen …Was ist eine SQL Server Language Extension?