SQL-Server für JTL-Wawi optimal einrichten
Ihre Aufgabe/Ausgangslage
Allgemeines zu Datenbanken
JTL-Wawi nutzt Microsoft SQL-Datenbanken als zentralen Speicherort für sämtliche Daten. Unsere Software hinterlegt dort Artikel- und Kundeninformationen für den jeweiligen Mandanten der Software aber auch Daten zu Bestellungen, eBay oder Amazon. Alle Wawi-Installationen innerhalb eines Unternehmens müssen auf die gleiche Datenbank zugreifen, weshalb die Datenbank einen entscheidenden Einfluss auf die Gesamtgeschwindigkeit hat. Je mehr Nutzer auf einen möglicherweise langsamen und unsauber aufgesetzten SQL-Server zugreifen, desto länger braucht das System, um die gewünschten Datenanfragen abzuarbeiten.
Empfohlene Hardware
Die Wahl der richtigen Hardware ist ein entscheidender Faktor für schnelle Datenzugriffe auf einen SQL-Server.
Anforderungen für alle SQL-Server-Versionen
Der Computer, auf dem der MSSQL-Server läuft, sollte im Idealfall immer folgende Hardwarespezifikationen aufweisen:
Richten Sie Ihr System im Idealfall wie folgt ein:
Zusätzliche Anforderungen für Nutzer der Standard-, Enterprise- oder Web-Edition
Während Nutzer der Express-Edition damit bereits die empfohlenen Hardware-Anforderungen erfüllen, gibt es für Besitzer der Standard-, Enterprise- oder Web-Edition einige Unterschiede. Da diese mehr als eine CPU pro Abfrage und mehr Arbeitsspeicher nutzen können, empfehlen wir neben den oben genannten Punkten noch die folgenden:
Sind diese Hardware-Anforderungen erfüllt, ist der erste wichtige Schritt getan. Die Infrastruktur für schnelle Datenbankabfragen ist geschaffen.
Software anpassen
Neben der richtigen Hardware sollten Sie auch die Software so einstellen, dass Ihr SQL-Server optimal läuft. Ein SQL-Server kann für maximale Kompatibilität auf verschiedene Versionen gesetzt werden. JTL-Wawi unterstützt ab Version 1.4 alle Varianten zwischen SQL 2016 und 2022. Das Datenbank-Kompatibilitätslevel staffelt sich wie folgt:
- Öffnen Sie zur Einstellung der Kompatibilität das Microsoft SQL Server Management Studio und melden Sie sich mit Ihren Zugangsdaten an. Im Objekt-Explorer legen Sie den Kompatibilitätsgrad für Ihren SQL-Server fest.
- Klicken Sie mit der rechten Maustaste auf die Datenbank und wählen Sie im Kontextmenü die Option Eigenschaften. Das Dialogfenster Datenbankeigenschaften öffnet sich.
- Klicken Sie auf Optionen. Hier finden Sie die Einstellung des Kompatibilitätsgrades des Servers. Für die bestmögliche Performance setzen Sie Ihren Server auf den tatsächlichen Grad der Version. Wenn Sie beispielsweise SQL 2017 verwenden, sollte der Wert 140 lauten.
- Deaktivieren Sie die Optionen Automatisch schließen und Automatisch verkleinern, indem Sie die Option false auswählen. Die Deaktivierung dieser Funktionen optimiert die Leistung des SQL-Servers.
Ein wichtiger Faktor für bessere Server-Leistung ist die Deaktivierung von Automatisch schließen und Automatisch verkleinern in der Datenbank. Automatisch verkleinern ist permanent bemüht, die .mdf-Datei zu verkleinern. Das Resultat: Der Server ist kontinuierlich mit sich selbst beschäftigt und fragmentiert zusätzlich die Festplatte. Automatisch schließen leert wiederum jedes Mal den Arbeitsspeicher, wenn alle Verbindungen zum Server geschlossen werden. Das klingt zwar im ersten Moment gut, ist es aber leider nicht. Denn viele wichtige Dateien müssen beim Aufbau der nächsten Verbindung wieder in das RAM geladen werden – erneut sinkt die Performanz des Servers.
- Klicken Sie auf Dateien. Hier können Sie die Größe der MDF- und LOG-Datei einstellen. Dadurch entsteht auf der Festplatte eine durchgängige Datei. Die automatische Vergrößerung durch das System führt zu einer Defragmentierung. Da dies die Geschwindigkeit negativ beeinflusst, sollten Sie Anfangsgröße und Vergrößerung nicht zu klein wählen. Idealerweise starten Sie mit 10000 MB (Anfangsgröße) und 500 MB (Automatische Vergrößerung).
- Klicken Sie für die MDF-Datei in der Spalte Automatische Vergrößerung/Maximale Größe auf die Schaltfläche …. Das Dialogfenster Automatische Vergrößerung ändern öffnet sich.
- Legen Sie unter Dateivergrößerung eine Größe von 500 MB fest. Stellen Sie die Anfangsgröße im Idealfall direkt auf 10 Gigabyte (=10000 Megabyte). Dies führt dazu, dass Ihre Datenbank diese feste Mindestgröße hat und nur wenn diese erreicht wird, um 500 MB vergrößert wird. Die LOG-Datei sollte initial 20-30% der Größe der .mdf-Datei haben, also 3000 MB (automatische Vergrößerung: 100MB).
- Passen Sie auf die gleiche Weise die Dateivergrößerung für die LOG-Datei an. Legen Sie diese auf 100 Megabyte fest.
Schließen Sie die Datenbankeigenschaften für Ihre Datenbank.
- Wiederholen Sie die Schritte 6 bis 8 für die Datenbank Temp-DB. Legen Sie als Anfangsgröße für jede der .mdf- als auch LOG-Datei(en) 100 MB fest. Falls die Temp-DB auf einem eigenen, separaten Laufwerk liegt, setzen Sie die Anfangsgröße auf ca. 80-90% des Gesamtspeicherplatzes. Dadurch vermeiden Sie, dass die Temp-DB während des Produktivbetriebes vergrößert werden muss.
Besondere Einstellungen der verschiedenen SQL-Server-Editionen
Sowohl die Express-Edition als auch die Standard-, Enterprise- und Web-Versionen haben einige wenige Eigenheiten bei der Einstellung der Software.
Express-Version
Nutzer der Express-Version sollten nach den oben genannten Schritten noch den Arbeitsspeicher auf 1 Gigabyte beschränken, um die Auslagerung von größeren Dateien auf die Festplatte einzuschränken. Dies geschieht ebenfalls im Microsoft SQL Server Management Studio.
- Klicken Sie dazu im Objekt-Explorer mit der rechten Maustaste auf den Server und wählen Sie Eigenschaften. Es öffnet sich das Dialogfenster Servereigenschaften.
- Wechseln Sie in die Registerkarte Arbeitsspeicher.
Standard-, Enterprise- und Web-Version
Falls Sie die Standard-, Enterprise- oder Web-Version verwenden, treffen Sie nach den oben genannten Schritten folgende Einstellungen:
- Legen Sie für jeden vorhandenen CPU-Kern eine weitere .mdf-Datei in der Temp-DB an. Diese Datei muss dieselbe Größe haben wie die erste Datei. Da die CPUs parallel arbeiten können, verteilt sich der Zugriff auf die verschiedenen Temp-DB-Dateien. Achten Sie darauf, dass alle .mdf-Einzeldateien der Temp-DB eine identische Anfangsgröße und Vergrößerung haben, damit diese vom System wechselseitig genutzt werden.
- Begrenzen Sie den Arbeitsspeicher auf 80% des tatsächlich vorhandenen Arbeitsspeichers. Dadurch bleiben dem Betriebssystem genug Ressourcen, dass keine Performance-Einbußen entstehen. Laufen weitere Anwendungen auf dem DB-Server, ist eine stärkere Einschränkung auf 60-70% angebracht.
- Begrenzen Sie die maximale Anzahl an parallel arbeitenden CPUs. Nutzen Sie mehr als 4, raten wir zu der Variante Hälfte der Menge an CPUs -1. Wer also 8 CPUs im Einsatz hat, sollte maximal 3 parallel nutzen. Für 4 und weniger CPUs ist der parallele Einsatz von 2 Kernen ideal. Sie legen mit dieser Definition lediglich die Menge der CPU-Kerne fest, die gleichzeitig an derselben Abfrage arbeiten. So bleibt Ihren Prozessoren genug Leistung, um neben großen Datenbankabfragen für mehr als einen Prozessor auch weiterhin andere Aufgaben und Abfragen mit der restlichen Kapazität zu bearbeiten.
Mit diesen Einstellungen sollte Ihre Datenbank bedeutend flüssiger mit jeglicher Art von Abfragen umgehen können. Um diesen Status auch längerfristig beizubehalten, sollten Sie die Ratschläge im Blog-Eintrag Tipps zur SQL-Server-Wartung beachten.
Weiterführende Informationen im JTL-Blog
Noch mehr Informationen wie Sie Ihre SQL-Datenbank optimal einrichten und die Server warten, um eine optimale Wawi-Performance zu gewährleisten, erhalten Sie in unserem Blog:
SQL-Datenbank optimal einrichten
Verwandte Themen