Wer Datenbanken betreibt, steht immer wieder vor der Frage, wann ist der beste Zeitpunkt zum Upgraden der Versionen. Doch eine allgemeine richtige Antwort gibt es darauf nicht. Stattdessen muss für jede Situation individuell entschieden werden. Mit diesem Artikel geben wir einen Leitfaden, wann sich ein Upgrade von SQL Server 2019 lohnt und wann nicht.
Warum überhaupt upgraden?
Gemäß dem Motto Never change a running System ist die erste Intuition, nichts an einem funktionierendem System zu ändern. Doch das trifft nicht immer auf Software zu. Die IT ist ein sich stetig wandelnder Ort. Somit ändern sich auch die Anforderungen an ein System. Denn es werden immer wieder neue Wege gefunden, wie Software ausgenutzt und gehackt werden kann. Deshalb ist es allein aus Gründen der Sicherheit sinnvoll eher früher als später auf neue Software zu wechseln.
SQL Server 2019 befindet sich derzeit noch im Mainstream Support. Das bedeutet, dass regelmäßig (alle zwei Monate) Updates inklusive Sicherheitspatches rausgebracht werden. Dieser Support läuft jedoch Ende Februar nächsten Jahres aus. Darauf folgt der sogenannte Extended Support. Hier werden nur noch akute Sicherheitsprobleme behoben, sollten diese auftreten. Das bedeutet, dass Ihr System nicht mehr sicherer wird. Stattdessen werden nur noch Löcher beim Entdecken gestopft. Eine neuere Version kann hier Abhilfe schaffen. Denn diese ist nicht nur im Mainstream Support, sondern besitzt zudem neue Sicherheitsfeatures, die das System sicherer machen können. Der späteste Zeitpunkt zum upgraden ist für uns das Ende des Extended Supports. Denn ab diesem Zeitpunkt wird es keine Updates mehr geben und die Datenbanken sind für neue Sicherheitslücken angreifbar.
Doch neben der verbesserten Sicherheit der Daten, werden mit SQL Server 2022 neue Funktionen und Features zu den bestehenden Komponenten hinzugefügt. Diese wurden dabei weiterentwickelt und verbessert. Das bedeutet, dass auch ohne die Nutzung der neuen Features, ein bestehendes System aus Performance Sicht durch ein Upgrade verbessert werden kann. Dazu kommt, dass eine neue Version besser skaliert. Es wird mehr Speicher unterstützt und die Leistung kann besser ausgenutzt werden.
Es bilden sich drei Aspekte heraus, die beachtet werden sollten. Der Aspekt der Sicherheit der Daten, die Performance des Systems und die erweiterten Möglichkeiten durch neue Features. Unter diesen Aspekten wollen wir im folgenden die Versionen von SQL Server 2019 und 2022 vergleichen. Anhand dieses Vergleiches können Sie dann selbst entscheiden, ob ein Upgrade für Sie in Frage kommt oder nicht.
Sicherheitsaspekt
In SQL Server 2019 hat man momentan folgende Tools, mit denen die Daten und Datenbanken gesichert werden:
- Transparent Data Encryption: Auch bekannt als TDE, bei der Daten und Log Dateien während Schreib- und Leseoperationen verschlüsselt werden.
- Backup Encryption Support: Während dem Erstellen eines Backups, kann dieses verschlüsselt werden.
- Encryption at rest and in motion: Daten werden nicht nur auf der Festplatte (at rest), sondern auch während eines Datentransfers (in motion) verschlüsselt.
- Dynamic Data Masking: Es kann gezielt sensible Daten verschlüsselt und der Zugriff geregelt werden.
- Always Encrypted with secure enclaves: Daten können Serverseitig in einem geschützten Bereich in-place verschlüsselt werden.
- Microsoft Defender für SQL: Der Microsoft Defender kann Schwachstellen und ungewöhnliche Aktivitäten des Datenbanksystems entdecken.
- Data Discovery and Classification: Es können Spalten in Benutzertabellen klassifiziert werden um besser sensible Daten von anderen zu unterscheiden.
- Central Management of Microsoft Purview Integration: SQL Server Instanzen können zentral kontrolliert und mit Zugriffsrechten versehen werden.
Doch SQL Server 2022 bringt neue Funktionen mit, die das System und die Daten noch sicherer machen können. Diese sind:
- Microsoft Entra Authentication: Man kann sich jetzt auch über die Microsoft Entra ID (früher Azure Active Directory) mit einer SQL Server Instanz verbinden.
- SQL Server Ledger: Ähnlich zu einem Blockchain werden Änderungen an Daten gespeichert. Somit kann die Unversehrtheit von Daten bei einem Angriff sichergestellt werden.
- Support von PFX Certificates: Es können nun Zertifikate im PFX Dateiformat im- und exportiert werden. Zudem kann der Master Key im Azure Blob Storage gesichert und wieder hergestellt werden. Außerdem haben SQL Server generierte Zertifikate einen RSA Schlüssel von 3072 Bits.
- Support von MS-TDS 8.0 Protocol: Es wurde auf das TDS 8.0 Protokoll gewechselt. Dieses setzt eine Verschlüsselung voraus und bietet bessere Schnittstellen mit HTTPS und TLS.
Performanceaspekt
Im Bereich der Performance wurden in SQL Server 2019 die Memory-Optimised tempDB eingeführt. Dies ist eine Erweiterung der In-Memory Datenbanken. Ziel war es, den Performance Bottleneck beim Erstellen von temporären Tabellen und die mit einhergehenden Updates der Metadaten zu reduzieren. Jedoch konnte das Problem der Latches auf Systempages nicht gelöst werden. Dies wurde jetzt in SQL Server 2022 geändert. Denn anstelle von Update Latches, welche die Seite für nur einen Thread blockiert, werden Shared Latches genutzt. Somit konnte diese Bottleneck entfernt werden. Darum profitiert ein System, welches viel mit tempDB arbeitet, besonders von SQL Server 2022.
Zudem wurden Änderungen am Query Store vorgenommen. Dieser ist nun standardmäßig aktiv und speichert die Ausführungspläne um diese später nochmal nutzen zu können. Zudem kann der Query Store nun auf sekundäre Repliken einer Availability Group übertragen werden. Sollte es zu einem Failover kommen, kann somit die sekundäre Replika sofort von den Plänen profitieren. Außerdem gibt es nun Query Store Hints, die eine mögliche Verbesserung von Queries speichern. Ebenfalls wurde der Buffer Pool angepasst. Diese Funktion stellt eine schnellere Option dar, wenn es darum geht Daten von der Festplatte zu lesen. Hier wurden effizientere Scans und eine bessere Nutzung von mehreren CPU Kernen hinzugefügt.
Funktionsaspekt
Wie schon anfangs erwähnt, besitzt SQL Server 2022 neue Funktionen. Ein paar davon haben wir bereits in den anderen Aspekten beschrieben. Doch auch darüber hinaus gibt es neue Features, die weitere Optionen darstellen mit den Daten zu arbeiten. Wir wollen hier die wichtigsten Neuerungen einmal festhalten:
- Azure Synapse Link: Es kann nun ein direkter Link zwischen Datenbanken und Azure Synapse erstellt werden. Dieser Link ermöglicht es, die Analysefunktionen aus Azure Synapse zeitnah zu nutzen, ohne dabei Daten verschieben zu müssen.
- Object Storage Integration und Data Virtualization: Es können neue Speichersysteme integriert werden. Darunter auch Data Lakes. Mithilfe der Virtualisierung können im Anschluss Queries auf diese Objekte ausgeführt werden.
- Contained Availability Group: Es wurde eine neue Art der Availability Group hinzugefügt. Damit können auch Objekte wie User und Logins repliziert werden. Dies musste zuvor manuell sichergestellt werden. In einem Video haben wir bereits die Neuerungen erklärt.
- Unterstützung von Time Series Data: Timer Series Data, oder auch Zeitreihe-Daten, ist ein Datentyp bei der Datenpunkte über ein Zeit Intervall verteilt sind. Ein gutes Beispiel dafür sind Aktienkurse. Mit der neuen Version von SQL Server wird nun auch dieser Datentyp unterstützt.
Was ist richtig für mich?
Will man jetzt ein neues Datenbank System aufbauen, sollte die Wahl ziemlich sicher auf SQL Server 2022 fallen. Denn durch das bevorstehende Ende des Mainstream Supports und damit dem Ende der Entwicklung dieser Version, muss früher wieder ein Upgrade geplant werden. Doch mit einem bereits bestehendem SQL Server 2019 System ist diese Abwägung schwieriger. Wie wir bereits geschrieben hatten, sollte der letzte Zeitpunkt des Upgrades das Ende des Extended Supports sein. Wenn die Leistung und Funktionalitäten bis dahin den Anforderungen entsprechen, kann die Version auch noch weiterhin genutzt werden. Wenn die Anforderungen nicht mehr erfüllt werden können, weitere Analysefunktionen oder eine größere Sicherheit der Daten wichtiger sind, dann empfiehlt sich schon jetzt ein Upgrade auf SQL Server 2022.
Wie funktioniert ein Upgrade?
Hat man sich nun für ein Upgrade entschieden, gibt es jedoch noch einiges zu beachten. Soll die Instanz auf derselben Maschine/Server bleiben? Gibt es aktive Availability Groups? Unterstützen die Applikationen, die diese Instanz nutzen, auch die neue Version? Diese Fragen und ein paar mehr sollten vor dem tatsächlichen Upgrade geklärt werden. Am besten wird das gesamte Vorhaben vorher in einer Testumgebung geprüft, sodass beim tatsächlichen Upgrade nichts schief geht oder Probleme schon vorgebeugt werden können. Zu diesem Thema haben wir bereits einen ausführlichen Artikel geschrieben, in dem verschiedene Szenarien vorgestellt werden. Zudem stehen Ihnen hier auch gerne unsere ExpertInnen mit Rat und Tat zur Verfügung.
Fazit
Wir hoffen wir konnten mit diesem Artikel einen Überblick über die Vor- und Nachteile eines Upgrades näher bringen und Ihnen bei Ihrer eigenen Entscheidung weiterhelfen. Sollten Sie weitere Fragen haben, können Sie uns gerne über unser Kontaktformular erreichen und einen unverbindlichen Beratungstermin ausmachen.