News / Updates Produktvorstellung Featureübersicht RADFAK Module Schnittstellen Systemvoraussetzungen Support Schulungen Kontakt
 
 

SQL Serveroptimierung: Thema tempdb

Einleitung

Viele Abfragen an den genutzten SQL Server werden vom Server zwischengespeichert wenn im Ergebnis gesucht, sortiert oder geblättert werden muss. Artikellisten, Kundendatensatzlisten oder Vorgänge zum Beispiel.

Das Zwischenspeichern wird vom SQL Server in einer temporären Datenbank vorgenommen die, wenn die Daten nicht mehr benötigt werden, veraltet sind oder der Server / Dienst neu gestartet wird automatisch gelöscht wird.

Normalerweise liegt diese Datei dort wo auch die Datendateien der anderen Datenbanken des Servers liegen. Zum Beispiel auf der Festplatte „C“.

Das permanente schreiben auf die Festplatte gefällt zum einen SSDs nicht besonders da diese durch Schreibvorgänge altern, zum Anderen kostet es Zeit die die Benutzeroberfläche warten muss bis die Daten vom Server aufbereitet sind bevor diese weiter verarbeitet werden können.

Die einfachste Möglichkeit den SQL Server in diesem Bereich signifikant zu beschleunigen, die Ergebnisse variieren von Maschine zu Maschine aber unsere Tests haben einen ca 40% Geschwindigkeitszuwachs bei relevanten Abfragen ergeben, ist das verschieben der tempdb Datendateien auf ein Laufwerk mit höchstmöglicher Schreibgeschwindigkeit: eine RAM-Disk.

Windows hat keine eingebauten Möglichkeiten eine solche anzulegen, es gibt aber genug Werkzeuge die diese Aufgabe erledigen.

Rekonfiguration

Die Rekonfiguration des SQL Servers ist schnell abgeschlossen mit der Abfrage

USE master;
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = tempdev, FILENAME = 'R:\DATA\tempdb.mdf');
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = templog, FILENAME = 'R:\DATA\templog.ldf');
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = temp2, FILENAME = 'R:\DATA\tempdb_mssql_2.ndf');
GO

Falls Sie weitere temp* Datendateien auf ihrem System haben müssen alle verschoben werden.

Der SQL Serverdienst muss genügend Berechtigungen besitzen um auf den Pfad lesend, ändernd und schreibend zugreifen zu können.

Der aktuelle Pfad der tempdb Dateien kann mit

Use Tempdb
go
sp_helpfile
go

abgefragt werden.

Nach Ausführung der Rekonfiguration muss der Serverdienst neu gestartet werden, die Änderungen sind dann wirksam. Achtung: der Neustart des Serverdienstes unterbricht alle Datenverbindungen. Vorher also alle Änderungen in RADFAK Modulen speichern und diese Module beenden.

Nachteile der Rekonfiguration

Wird das Laufwerk beim (versuchten) Start des SQL Serverdienstes nicht gefunden verweigert der SQL Server den Start. Hier sollte also vom automatischen Start des Dienstes abgewichen werden auf eine gesteuerte Variante die sicherstellt das das Laufwerk korrekt geladen ist.

 

Diese Seite verwendet Cookies, um die Nutzerfreundlichkeit zu verbessern. Mit der weiteren Verwendung stimmen Sie dem zu. Bei Verwendung der Chatfunktion werden Cookies des / vom Chatanbieter(s) verwendet. Mehr dazu in der Datenschutzerklärung.