Sie sind hier: Wissen

Was ist Microsoft SQL Server 2022 ?

Microsoft SQL Server 2022 ist Nachfolger von Microsoft SQL Server 2019 und erschienen am 16.11.2022.

Interne Versionsnummer

16 (Kompatibilitätslevel: 160)

Liste der Neuerungen in Microsoft SQL Server 2022

Neue Analysefunktionen
  • Azure Synapse Link für SQL
  • Integration des Objektspeichers
  • Datenvirtualisierung
Verbesserungen im Bereich Verfügbarkeit
  • Link zu Azure SQL Managed Instance
  • Eigenständige Verfügbarkeitsgruppen
  • Verteilte Verfügbarkeitsgruppen
  • Verbesserte Sicherungsmetadaten
Verbesserungen im Bereich Sicherheit
  • Integration von Microsoft Defender für Cloud
  • Microsoft Purview-Integration
  • Ledger
  • Authentifizierung über Azure Active Directory
  • Always Encrypted mit Secure Enclaves: Unterstützung für JOIN, GROUP BY und ORDER BY und Textspalten mit UTF-8-Sortierungen
  • Neue granulare Berechtigungen
  • Neue integrierte Rollen auf Serverebene
  • Päzise „UNMASK“-Berechtigungen für die dynamische Datenmaskierung
  • Neue Unterstützung für den Import und Export von Zertifikaten im PFX-Dateiformat und privaten Schlüsseln.
  • Unterstützung für TDS 8.0 und TLS 1.3
Verbesserungen im Bereich Abfragen
  • Abfragespeicher auf sekundären Replikaten
  • Abfragespeicherhinweise
  • Feedback zur Speicherzuweisung
  • Parameterabhängige Planoptimierung
  • Feedback zum Grad der Parallelität
  • Feedback zur Kardinalitätsschätzung
  • Erzwingen des optimierten Plans
Leistungsverbesserungen in Microsoft SQL Server 2022

Verbesserte Verwaltungsfunktionen
  • Integrierte Einrichtungsumgebung für die Azure-Erweiterung für SQL Server
  • Azure-Erweiterung für SQL Server im SQL Server-Konfigurations-Manager
  • Berechnungen des maximalen Serverarbeitsspeichers
  • Verbesserungen bei der beschleunigten Datenbankwiederherstellung (ADR)
  • Verbesserte Unterstützung für Momentaufnahmesicherungen
  • Verkleinern von Datenbanken mit WAITAT_LOWPRIORITY
  • XML-Komprimierung
  • Asynchrone automatische Statistikaktualisierungsparallelität
  • Sichern und Wiederherstellen auf S3-kompatiblen Objektspeichern
Verbesserungen in T-SQL
  • Verbesserungen bei Alter Table
  • Verbesserungen bei Create Index
  • Verbesserungen bei der Transaktionsreplikation
  • Verbesserungen bei Create Statistics
  • SELECT … WINDOW
  • IS [NOT] DISTINCT FROM
  • Zeitreihenfunktionen mit DATEBUCKET() und GENERATE_SERIES()
  • Erweiterte JSON-Funktionen
  • Aggregatfunktionen APPROX_PERCENTILE_CONT() und APPROX_PERCENTILE_DISC()
  • Neue T-SQL-Funktionen: GREATEST(), LEAST(), STRING_SPLIT(), DATETRUNC(), LTRIM(), RTRIM() und TRIM()
  • Neue Funktionen für Bitmanipulation: LEFT_SHIFT(), RIGHT_SHIFT(), BIT_COUNT(), GET_BIT(), SETBIT()
Verbesserungen in SQL Server Management Studio Version 19.0

Details

Schwerpunkt von SQL Server 2022 (interne Versionsnummer: 16) ist die verbesserte Cloud-Integration. Microsoft spricht von "most Azure-enabled release of SQl Server".

In SQL Server 2022 ist ein Failover von lokalen Datenbankinstanzen zu dem Cloud-basierten Azure SQL möglich. Eingerichtet wird die neue Funktion über neuen Menüeintrag "Azure SQL Managed Instance Link" in SQL Server Management Studio (SSMS) ab Version 19.0, das zeitgleich unter https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms-19 erschienen ist und sich parallel zu früheren Hauptversionen von SSMS installiert. Die Cloud-Datenbank wird damit zu einem Replikat, das nur gelesen werden kann, im Fehlerfall aber die führende Rolle übernimmt. Der lokale SQL Server kann später die Hauptrolle wieder erhalten, indem man ein Backup der Cloud-Instanz im lokalen SQL Server wieder einspielt. Derzeit muss man sich für diesen Replikationsdienst einzeln registrieren [https://forms.office.com/pages/responsepage.aspx?id=v4j5cvGGr0GRqy180BHbR5o5Tvh3duNFm5f7UUZcVpZUOFVNRzNUSEhYQlNPQUxDRUxITVZGNE5NRC4u].

Mit Azure Synapse Link for SQL [https://techcommunity.microsoft.com/t5/azure-synapse-analytics-blog/announcing-the-public-preview-of-azure-synapse-link-for-sql/ba-p/3372986] lässt sich mit wenigen Mausklicks eine Verbindung einer SQL Server-Datenbank zum Cloud-Dienst Azure Synapse Analytics [https://azure.microsoft.com/en-us/services/synapse-analytics] zur Datenauswertung einrichten. Nach einer initialen Replikation der bestehenden Daten, die einige Zeit in Anspruch nehmen kann, werden die sich fortan ändernden Daten nahezu in Echtzeit in die Cloud zur Analyse übertragen. Dabei soll die SQL Server 2022-Ausgangsdatenbank kaum belastet werden.
AAD und mehr Operatoren für die Enklaven

Zur Authentifizierung unterstützt SQL Server 2022 neben den altbekannten Windows-Nutzern und SQL Server-eigenen Nutzerkonten ("SQL Authentifizierung") nun auch die Authentifizierung via Azure Active Directory (AAD) [https://docs.microsoft.com/en-us/sql/relational-databases/security/authentication-access/azure-ad-authentication-sql-server-overview?view=sql-server-ver16] mit Benutzername/Kennwort oder Access Token sowie Multi-Faktor-Authentifizierung.

Beim Tabular Data Stream (TDS) [https://www.dotnet-lexikon.de/TabularDataStream/lex/3411.aspx], dem Netzwerkprotokoll zur Kommunikation mit einem SQL Server, ist die Verschlüsselung der Daten nun verpflichtend. Die neue Version des Netzwerkprotokolls trägt die Versionsnummer 8.0.
Die in SQL Server 2019 eingeführten sicheren Enklaven für Always Encrypted [https://www.heise.de/ix/meldung/Angeblich-mit-Intelligenz-Microsoft-SQL-Server-2019-ist-erschienen-4578248.html] bieten nun auch Unterstützung für die SQL-Operatoren JOIN, GROUP BY und ORDER BY.

Auch den SQL Server-Datenbankern hat Microsoft in Version 2022 verbessert. So werden die SQL-Ausführungspläne nun parameterabhängig optimiert. Der SQL Server kann dafür mehrere Ausführungspläne für eine Stored Procedure vorhalten, wenn die gelieferten Datenmengen stark vom Parameter abhängig sind. Diese "Parameter Sensitive Plan Optimization" ist automatisch aktiv, wenn die Datenbank im Kompatibilitätslevel 160 betrieben wird. Der Vorgänger, SQL Server 2019, hatten als höchsten Level 150 (https://docs.microsoft.com/de-de/sql/t-sql/statements/alter-database-transact-sql-compatibility-level).

Ein Datenbankadministrator oder -entwickler kann in SQL Server 2022 Optimierungen für SQL-Befehle nun auch über die neue Stored Procedure sys.spquery_store_sethints einstellen. In diesen, bisher nur in der Cloud-Variante von SQL Server verfügbaren Query Store Hints lassen viele der Optionen einstellen, die man bisher schon per OPTION an einen SQL-Befehl anhängen kann. Die neue Stored Procedure hilft in Szenarien, in denen der Datenbankadministrator den SQL-Befehl nicht beeinflussen kann, weil er aus einer Anwendung kommt, deren Quellcode man nicht besitzt oder ändern kann. Damit sucht man erst die Query-ID einer Abfrage, um dann eine Optimierung für nachfolgende Ausführungen festzulegen:
/*
Now let's find the query_id associated with this query.
*/
SELECT querysql_text, q.queryid
FROM sys.querystore_querytext qt
INNER JOIN sys.querystorequery q ON
qt.querytext_id = q.query_textid
WHERE querysql_text like N'%ORDER BY ListingPrice DESC%' and query_sql_text not like N'%querystore%';
GO

/*
We can set the hint associated with the query_id returned in the previous result set, as below.
Note, we can designate one or more query hints
*/
EXEC spquery_store_set_hints @queryid=5, @value = N'OPTION(RECOMPILE)';
GO

Für die Arbeit mit JSON-Daten bietet Transact-SQL in Microsoft SQL Server 2022 die neue Funktionen an. ISJSON() prüft, ob eine Zeichenkette gültige JSON-Daten enthält. Mit JSONPATHEXISTS() prüft der Datenbankentwickler, ob es in einer Zeichenkette eine bestimmten JSON-Pfad gibt, z.B.
DECLARE @jsonInfo NVARCHAR(MAX)
SET @jsonInfo=N'{"info":{"address":[{"town":"Essen"},{"town":"Hannover"}]}}';
SELECT JSONPATHEXISTS(@jsonInfo,'$.info.address'); -- 1
Mit der Funktion JSON_OBJECT() erzeugt man JSON-Datenstrukturen, z.B.
SELECT JSON_OBJECT('name':'Dr. Holger Schwichtenberg', 'alter':49)
liefert die Zeichenkette
{"name":"Dr. Holger Schwichtenberg","alter":49}
Analog dazu erzeugt man mit JSON_ARRAY() ein JSON-Array:
SELECT JSON_ARRAY('Essen', 45127, 'Hannover', 30625)
Dies liefert:
["Essen",45127,"Hannover",30625]
Weitere neue T-SQL-Funktionen sind GREATEST() und LEAST(), die den größten bzw. kleinesten Wert aus einer Menge liefern. STRING_SPLIT() spaltet eine Zeichenkette in Teile auf und liefert diese als Ergebnistabelle.
Ledger nun auch für lokalen SQL Server

SQL Server 2022 bietet zudem jetzt eine Funktion mit Namen "Ledger" (deutsch: Hauptbuch) an, mit dem die Datenintegrität einer Tabelle nachvollziehbar wird. Wie bei einer Blockchain bekommt dafür jede Transaktion einen kryptografischen Hash. Datenbankadministratoren können damit gegenüber Auditoren auch nachweisen, dass Werte unverändert sind. Zudem erlaubt Ledger das Zurücksetzen auf einen geprüften Stand. Diese Funktion war zuvor nur in der Azure SQL verfügbar.

Weitere Informationen

Weitere Informationen zu SQL Server 2022 findet man in einem Blogeintrag [https://cloudblogs.microsoft.com/sqlserver/2022/05/24/announcing-sql-server-2022-public-preview-azure-enabled-with-continued-performance-and-security-innovation/] sowie in der Dokumentation [https://docs.microsoft.com/en-us/sql/sql-server/what-s-new-in-sql-server-2022?view=sql-server-ver16].
Die Vorschauversion kann kostenfrei unter https://aka.ms/GetSQLServer2022 bezogen und 180 Tage genutzt werden.

Beratung & Support

Schulungen zu diesem Thema

 Anfrage für eine individuelle Schulung zum Thema Microsoft SQL Server 2022  Gesamter Schulungsthemenkatalog

Bücher zu diesem Thema

  Blazor 9.0: Moderne Webanwendungen und hybride Cross-Platform-Apps mit .NET 9.0, C# 13.0 und Visual Studio 2022
  C# 13.0 Crashkurs
  Moderne Datenzugriffslösungen mit Entity Framework Core 9.0
  .NET 9.0 Update: Die Neuerungen in .NET 9.0 gegenüber .NET 8.0
  PowerShell 7 und Windows PowerShell 5 – das Praxishandbuch
  .NET 8.0 Update: Die Neuerungen in .NET 8.0 gegenüber .NET 7.0
  Blazor 8.0: Moderne Webanwendungen und hybride Cross-Platform-Apps mit .NET 8.0, C# 12.0 und Visual Studio 2022
  Moderne Datenzugriffslösungen mit Entity Framework Core 8.0
  C# 12.0 Crashkurs
  Cross-Plattform-Apps mit .NET MAUI entwickeln
  Blazor 7.0: Blazor WebAssembly, Blazor Server und Blazor Hybrid
  C# 11.0 Crashkurs
  Moderne Datenzugriffslösungen mit Entity Framework Core 7.0
  PowerShell 7 und Windows PowerShell 5 – das Praxishandbuch
  App Engineering: SwiftUI, Jetpack Compose, .NET MAUI und Flutter
  Vue.js 3 Crashkurs
  Moderne Datenzugriffslösungen mit Entity Framework Core 6.0
  Blazor 6.0: Blazor WebAssembly, Blazor Server und Blazor Desktop
  C# 10.0 Crashkurs
  Cross-Plattform-Apps mit Xamarin.Forms entwickeln
  Developing Web Components with TypeScript: Native Web Development Using Thin Libraries
  PowerShell – kurz & gut
  C# 9.0 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET 5.0, .NET Core und Xamarin
  ASP.NET Core Blazor 5.0: Blazor WebAssembly und Blazor Server - Moderne Single-Page-Web-Applications
  Windows PowerShell 5 und PowerShell 7: Das Praxisbuch
  Moderne Datenzugriffslösungen mit Entity Framework Core 5.0
  ASP.NET Core Blazor 3.1/3.2: Blazor Server und Blazor Webassembly - Moderne Single-Page-Web-Applications mit .NET, C# und Visual Studio
  ASP.NET Core Blazor 3.0/3.1: Blazor Server und Blazor Webassembly - Moderne Single-Page-Web-Applications mit .NET, C# und Visual Studio
  Moderne Datenzugriffslösungen mit Entity Framework Core 3.1
  C# 8.0 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core und Xamarin
  Moderne Datenzugriffslösungen mit Entity Framework Core 3.0
  Windows PowerShell 5.1 und PowerShell Core 6.1 - Das Praxishandbuch
  Moderne Datenzugriffslösungen mit Entity Framework Core 2.1/2.2
  Moderne Webanwendungen für .NET-Entwickler: Server-Anwendungen, Web APIs, SPAs & HTML-Cross-Platform-Anwendungen mit ASP.NET, ASP.NET Core, JavaScript
  C# 7.3 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core und Xamarin
  Modern Data Access with Entity Framework Core: Database Programming Using .NET, .NET Core, UWP, and Xamarin with C#
  Windows PowerShell und PowerShell Core - Der schnelle Einstieg: Skriptbasierte Systemadministration für Windows, Linux und macOS
  Programmierung in Python
  C# 7.2 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core und Xamarin
  Moderne Datenzugriffslösungen mit Entity Framework Core 2.0/2.1
  Effizienter Datenzugriff mit Entity Framework Core: Datenbankprogrammierung mit C# für .NET Framework, .NET Core und Xamarin
  Moderne Datenzugriffslösungen mit Entity Framework Core 2.0
  Windows PowerShell 5 und PowerShell Core 6 - Das Praxishandbuch
  Angular - Das Praxisbuch zu Grundlagen und Best Practices
  Moderne Datenzugriffslösungen mit Entity Framework Core 1.0, 1,1 und 2.0
  Moderne Datenzugriffslösungen mit Entity Framework Core 1.0, 1,1 und 2.0
  Moderne Datenzugriffslösungen mit Entity Framework Core 1.1 und 2.0-Preview2
  Moderne Datenzugriffslösungen mit Entity Framework Core 1.x und 2.0
  Moderne Datenzugriffslösungen mit Entity Framework Core 1.x und 2.0
  Introducing Regular Expressions: JavaScript and TypeScript
  Introducing Web Development
  Introducing Bootstrap 4
  Programming Web Applications with Node, Express and Pug
  Einführung in TypeScript: Grundlagen der Sprache TypeScript 2
  Pug – Die Template-Engine für node.js
  Web-Programmierung mit Node, Express und Pug
  Windows PowerShell 5 – kurz & gut
  Moderne Datenzugriffslösungen mit Entity Framework Core 1.1
  Windows PowerShell 5.0 - Das Praxishandbuch
  PHP 7 und MySQL: Von den Grundlagen bis zur professionellen Programmierung
  Windows Scripting Lernen
  .NET Praxis - Tipps und Tricks für .NET und Visual Studio
  Grundlagen für Web-Entwickler: Protokolle, HTML und CSS
  Bootstrap 3 - Stile und Komponenten
  Bootstrap 4 - Stile und Komponenten
  Einführung in JavaScript: ECMAScript 5
  Einführung in node.js
  express – Middleware für node.js
  JADE – Die Template Engine für node.js
  Reguläre Ausdrücke in JavaScript
  Moderne Datenzugriffslösungen mit Entity Framework 6
  C++ Standardbibliothek
  AngularJS: Moderne Webanwendungen und Single Page Applications mit JavaScript
  Microsoft SharePoint Server 2013 und SharePoint Foundation: Das umfassende Handbuch
  SQL Server 2014 für Professionals: Hochverfügbarkeit, Cloud-Szenarien, Backup/Restore, Monitoring & Performance
  Moderne Webanwendungen mit ASP.NET MVC und JavaScript
  Windows PowerShell 4.0 - Das Praxishandbuch
  JavaScript: Das umfassende Handbuch, inkl. HTML5, JavaScript-Frameworks, jQuery, OOP
  C++11 für Programmierer
  C++ kurz und gut
  Microsoft ASP.NET 4.5 - Entwicklerbuch
  Moderne Webanwendungen mit ASP.NET MVC
  Verteilte Systeme und Services mit .NET 4.5
  Scripting mit Windows PowerShell 3.0 - Der Workshop: Skript-Programmierung mit Windows PowerShell 3.0 vom Einsteiger bis zum Profi
  Windows 8 für Administratoren
  Windows 8.1 - Das Handbuch (27. November 2013)
  Windows Store Apps entwickeln mit C# und XAML - Crashkurs
  .NET 4.5 Update
  Windows Scripting Lernen
  WPF 4.5 und XAML
  Datenbankprogrammierung mit .NET 4.5
  C++11: Der Leitfaden für Programmierer zum neuen Standard
  Verteilte Systeme und Services mit .NET 4.0
  Microsoft ASP.NET 4.0 mit C# 2010 - Entwicklerbuch
  Agile Software Engineering with Visual Studio
  Datenbankprogrammierung mit .NET 4.0. Mit Visual Studio 2010 und SQL Server 2008 R2
  Microsoft SharePoint Server 2010 und SharePoint Foundation 2010
  Microsoft SQL Server 2008 R2 - Das Entwicklerbuch
  Microsoft Viusal C# 2010
  Office 2010 Programmierung mit VSTO und .NET 4.0: Word, Excel und Outlook erweitern und anpassen
  Programmieren mit dem ADO.NET Entity Framework
  .NET 4.0 Crashkurs
  Visual Basic 2010: Grundlagen, ADO.NET, Windows Presentation Foundation
  .NET 4.0 Update
  Windows PowerShell 2.0 - Das Praxishandbuch
  Windows 7 im Unternehmen
  Agile Muster und Methoden
  Ajax
  ASP.NET 4.0
  ASP.NET 4.0 mit Visual C# 2010
  JavaScript
  PHP 5-Migration
  Scripting mit Windows PowerShell 2.0 - Der Einsteiger-Workshop
  SQL Server 2008 R2: Das Programmierhandbuch. Inkl. ADO.NET 3.5, LINQ to Entities und LINQ to SQL
  Visual Basic 2010
  Windows PowerShell 2.0 - Crashkurs
  Windows Server 2008 R2
  Windows Scripting
  Windows Scripting Lernen
  Data Mining mit Microsoft SQL Server
  Windows 7 für Administratoren
  Microsoft ASP.NET 3.5 mit Visual Basic 2008 - Entwicklerbuch
  .NET 3.5
  Essential PowerShell
  .NET 3.5 Crashkurs
  Webanwendungen mit ASP.NET 3.5 und AJAX Crashkurs
 Alle unsere aktuellen Fachbücher  E-Book-Abo für ab 99 Euro im Jahr