Blog
Tuesday, 24. October 2023

Memory-Optimized TempDB Metadata in SQL Server 2022

Kristóf
IT-Consultant

Im stetig weiterentwickelnden Bereich des Datenbankmanagements sticht SQL Server 2022 als Meilenstein-Version heraus, die eine Vielzahl von Innovationen mit dem Ziel der Verbesserung von Leistung und Skalierbarkeit mit sich bringt. Unter den herausragenden Merkmalen hat sich Memory-Optimized TempDB Metadata als bahnbrechende Neuerung erwiesen, die eine signifikante Leistungssteigerung für SQL Server-Umgebungen bietet.

TempDB, eine kritische Systemdatenbank, war oft ein Engpass in komplexen Operationen, aber mit diesem Fortschritt ist sie effizienter und reaktionsfähiger als je zuvor. In diesem Artikel tauchen wir in die Welt des Memory-Optimized TempDB Metadata in SQL Server 2022 ein. Wir erklären, was es ist, warum es wichtig ist und wie man seine Leistungsfähigkeit nutzen kann, um die Fähigkeiten im Bereich des Datenbankmanagements zu steigern. Lassen Sie uns also eine Reise durch das Gebiet der Speicheroptimierung unternehmen und herausfinden, wie dieses innovative Merkmal die SQL Server-Landschaft neu gestaltet.

Was ist TempDB in SQL Server?

TempDB ist eine Systemdatenbank in SQL Server, die zur Speicherung temporärer Daten verwendet wird. Es ist eine globale Ressource, die von allen Benutzern geteilt wird, die mit einer SQL Server-Instanz verbunden sind. TempDB dient verschiedenen Zwecken, darunter der Speicherung temporärer Tabellen, Tabellenvariablen und die Sortierung von Zwischenergebnissen während der Abfrageausführung. Es spielt eine entscheidende Rolle in vielen Datenbankoperationen und seine Leistung kann sich erheblich auf die Gesamtleistung der SQL Server-Instanz auswirken.

Was ist TempDB Metadata?

TempDB-Metadaten beziehen sich auf die Informationen über TempDB selbst. Dazu gehören Informationen über die Datendateien, Dateigruppen und andere strukturelle Details, die SQL Server benötigt um TempDB effektiv zu verwalten. Metadaten sind für das ordnungsgemäße Funktionieren von TempDB unerlässlich und werden in den Systemtabellen von TempDB gespeichert.

Was ist Speicheroptimierung?

Speicheroptimierung im Kontext von SQL Server bezieht sich auf die Optimierung der Verwendung von Speicherressourcen zur Verbesserung der Datenbankleistung. Dazu gehört die Optimierung von Abfragen, die Gestaltung von Indizes und die Speicherzuweisung, um die Ein-/Ausgabe zu reduzieren und die Geschwindigkeit der Abfrageausführung zu erhöhen.

Wie erreicht man eine Speicheroptimierung im Allgemeinen?

  • Abfrageoptimierung: Schreiben Sie effiziente Abfragen, minimieren Sie ressourcenintensive Operationen und verwenden Sie geeignete Indizierungen, um den Bedarf an übermäßigem Speicher zu reduzieren.

  • Indizierung: Erstellen und pflegen Sie geeignete Indizes für Ihre Tabellen, um die Anzahl der Seiten zu reduzieren, die SQL Server lesen muss, was den Speicherbedarf verringern kann.

  • Speicherzuweisung: Konfigurieren Sie die maximale Speicherzuweisung für SQL Server so, dass er nicht zu viel Systemspeicher verbraucht und genug für das Betriebssystem und andere Anwendungen übrig bleibt.

  • Verwaltung des Pufferpools: Überwachen und verwalten Sie den Pufferpool, um sicherzustellen, dass häufig verwendete Daten im Speicher zwischengespeichert werden, was den Bedarf an Festplatten-E/A reduziert.

  • Plan-Caching: Verwenden Sie gespeicherte Prozeduren und parametrisierte Abfragen, um vom Plan-Caching zu profitieren und den Speicherverbrauch für die Kompilierung von Abfrageplänen zu reduzieren.

In SQL Server 2022 hat Microsoft mehrere Funktionen eingeführt, um die Speicherauslastung weiter zu optimieren, darunter:

  1. In-Memory TempDB Metadata: SQL Server 2022 bietet die Möglichkeit, Memory-Optimized-Metadaten für TempDB zu erstellen. Memory-Optimized TempDB Metadata kann die Leistung von TempDB-Operationen erheblich verbessern, indem sie die Ein-/Ausgabe und die Konflikte reduziert. Um dies in SQL Server 2022 zu erreichen, können Sie die Option MEMORY_OPTIMIZED_METADATA verwenden, wenn Sie TempDB konfigurieren. Diese Option erstellt Memory-Optimized-Strukturen für TempDB-Metadaten.
  2. Verbesserungen beim Ressourcen-Gouverneur: SQL Server 2022 enthält Verbesserungen beim Ressourcen-Gouverneur, die es ermöglichen, die Kontrolle über die Speicherressourcen für verschiedene Workloads oder Abfragegruppen zu optimieren und sicherzustellen, dass wichtige Workloads die erforderlichen Speicherressourcen erhalten.
  3. Verbesserungen bei der Stapelverarbeitung: SQL Server 2022 enthält Verbesserungen bei der Stapelverarbeitung, die den Speicherverbrauch für analytische und Data-Warehousing-Workloads reduzieren können.

Durch die Verwendung dieser Funktionen und bewährter Verfahren zur Speicheroptimierung können Sie die Leistung und Skalierbarkeit Ihrer SQL Server 2022-Instanzen verbessern, insbesondere bei der Arbeit mit TempDB und ihren Metadaten.

Verwendung mit Code

  1. Öffnen Sie SQL Server Management Studio und stellen Sie eine Verbindung zu Ihrer SQL Server-Instanz her.
  2. Öffnen Sie ein neues Abfragefenster und führen Sie den folgenden Befehl aus, um das Feature für den speicheroptimierten TempDB-Metadaten zu aktivieren:
ALTER SERVER CONFIGURATION SET MEMORY_OPTIMIZED TEMPDB_METADATA = ON;
  1. Diese Konfigurationsänderung erfordert einen Neustart des SQL Server-Dienstes, um wirksam zu werden. Sie können den Dienst mithilfe des SQL Server-Konfigurationsmanagers neu starten.
  2. Nachdem der Dienst neu gestartet wurde, können Sie überprüfen, ob TempDB speicheroptimiert ist, indem Sie den folgenden Befehl ausführen:
SELECT SERVERPROPERTY('IsTempdbMetadataMemoryOptimized');
  1. Wenn das Ergebnis 1 ist, sind die TempDB-Metadaten speicheroptimiert. Wenn das Ergebnis 0 ist, sind sie es nicht.
  2. Sie können auch sp_configure verwenden, um den Parameter für speicheroptimierte TempDB-Metadaten mit dem folgenden T-SQL zu setzen:
EXEC sys.sp_configure N'show advanced options', 1;
RECONFIGURE WITH OVERRIDE;
EXEC sys.sp_configure N'tempdb metadata memory-optimized', 1;
RECONFIGURE WITH OVERRIDE;
  1. Um den aktuellen Wert des Parameters für speicheroptimierte TempDB-Metadaten zu überprüfen, können Sie die folgende Abfrage ausführen:
SELECT CASE WHEN value <> value_in_use THEN 'restart required' END, * FROM sys.configurations WHERE name = N'tempdb metadata memory-optimized';

Fazit

In diesem Artikel haben wir Ihnen die neue Memory-Optimized TempDB Metadata Funktion in SQL Server 2022 vorgestellt. Wenn Sie mehr darüber erfahren möchten, stehen Ihnen unsere erfahrenen Expert:innen mit Rat und Tat zur Seite. Kontaktieren Sie uns gerne über unser Kontaktformular und lassen sich umfassend beraten.

Interesse geweckt?

Unsere Expert:innen stehen Ihnen bei allen Fragen rund um Ihre IT Infrastruktur zur Seite.

Kontaktieren Sie uns gerne über das Kontaktformular und vereinbaren ein unverbindliches Beratungsgespräch mit unseren Berater:innen zur Bedarfsevaluierung. Gemeinsam optimieren wir Ihre Umgebung und steigern Ihre Performance!
Wir freuen uns auf Ihre Kontaktaufnahme!

Taunusstraße 72
55118 Mainz
info@madafa.de
+49 6131 3331612
Bürozeiten
Montag bis Donnerstag:
9:00 - 17:00 Uhr MEZ

Freitags:
9:30 - 14:00 Uhr MEZ
Wir sind Ihre SQL Expert:innen!
Noch Fragen? - Wir haben immer die passende Antwort für Sie!