Inhaltsverzeichnis

    Tipps zur SQL-Server-Wartung

    Ihre Aufgabe / Ausgangslage

    Sie haben einen SQL-Server für JTL-Wawi eingerichtet und betreiben diesen. Da der SQL-Server kein Bestandteil von JTL-Wawi, sondern ein eigenständiges, externes Produkt ist, raten wir zur selbständigen Pflege. Die Verschleißerscheinungen der Software zu ignorieren, kann langfristig gesehen zu großen, teils irreparablen Schäden führen. Zusammen mit unserem Support-Team haben wir die drei häufigsten Probleme identifiziert, denen unsere Kunden im Zusammenhang mit Microsofts Server-Technologie begegnen.

    Datenbank-Backup einrichten

    Aufgrund von Fehlern ist es möglich, dass der Datenbank-Server nicht neu gestartet werden kann. Um zu verhindern, dass Daten zu Bestellungen, Kunden und Artikeln verloren gehen, sollten Sie regelmäßige Sicherungen Ihres Servers vornehmen. Als Intervall empfehlen wir mindestens einmal täglich. Als Speicherort für die Sicherungen sollten Sie einen anderen Ort auswählen als den Standort Ihres Servers, um zum Beispiel im Falle eines Brandschadens zu verhindern, dass auch die Sicherung mit vernichtet wird.

    Manuelle Sicherung

    Eine manuelle Sicherung legen Sie folgendermaßen an:

    1. Öffnen Sie in JTL-Wawi die Datenbankverwaltung unter Start > Datenbank.
    2. Melden Sie sich in der Datenbankverwaltung an und wählen Sie den Mandanten, den Sie sichern möchten.
    3. Klicken Sie auf DB-Export.
    4. Wählen Sie bei Bedarf einen Speicherort und einen Dateinamen und klicken Sie auf Starten. Die Datenbanksicherung wird nun erstellt.

    Sicherung automatisieren

    Nutzer der Standard-, Enterprise- und Web-Editionen können unter https://ola.hallengren.com/ ein Skript herunterladen, das bei entsprechender Konfiguration sowohl Erstellung als auch Überprüfung des Backups automatisiert. Weil Vorsicht aber besser als Nachsicht ist, halten wir eine stichprobenartige händische Prüfung der Backups für wichtig.

    Nutzer der Express-Version des SQL-Servers können mit dem externen Tool SQLBackupandFTP einen Workaround schaffen.

    Indizes regelmäßig aktualisieren

    Die Indizes der Datenbank kann man sich am ehesten wie ein Telefonbuch vorstellen. Sie liefern die Telefonnummern zu den Namen, beziehungsweise den Einträgen der Datenbank. Das Problem dabei ist jedoch, dass die Daten regelmäßig umziehen, neue hinzukommen, alte überflüssig werden. Der SQL-Server selbst erstellt anhand der neuen Informationen neue Seiten für das Telefonbuch oder klebt bestimmte Einträge an anderen Stellen ein. Das Resultat: eine chaotische Zettelwirtschaft mit jeder Menge unnützer Informationen. Diese fragmentierte Datenbank benötigt ein Vielfaches an Rechenaufwand – immerhin steigt die Zahl der Zugriffe, da nicht mehr alle Informationen in einer komprimierten Form zur Verfügung stehen, sondern über unzählige, nur teils gefüllte Seiten verteilt sind.

    Achtung: Ungeduldige sollten nicht direkt die Prüfung starten! Sobald der Index neugebaut wird, steht dieser im aktuellen Betrieb nicht zur Verfügung. Besser ist es also, die Prüfung nicht während der Stoßzeiten durchzuführen, sondern eher abends oder nachts. Im Idealfall findet die Prüfung einmal täglich statt.

    So starten Sie das Neuorganisieren und Neuerstellen der Indizes:

    1. Öffnen Sie die Datenbankverwaltung von JTL-Wawi über das Menü Start > Datenbank.
    2. Melden Sie sich in der Datenbank an und wählen Sie den gewünschten Mandanten.
    3. Wählen Sie Performanceoptimierung. Sie erreichen dadurch den Bereich Mandanten optimieren.
    1. Markieren Sie die Option Indizes neuorganisieren und neuerstellen.
    1. Klicken Sie auf Starten.

    Für Nutzer der Standard-, Enterprise- und Web-Editionen gibt es auch in diesem Fall ein Skript von der oben genannten Seite von Ola Hallengren, mit dem Sie diesen Ablauf automatisieren können. Express-Nutzer müssen die Überprüfung allerdings manuell durchführen.

    Statistiken aktualisieren

    Die Statistiken helfen dem SQL-Server bei der Erstellung von Ausführungsplänen. Problem dabei ist, dass der Server die Statistik für eine Datenbank nur dann aktualisiert, wenn sich mehr als 20 Prozent des Inhalts einer Tabelle ändern. Sie können sich leicht vorstellen, dass sich große Datenbanken nur selten um 20 Prozent ändern, sich aber dennoch viele Einträge einer Tabelle an einer anderen Stelle befinden könnten.

    Machen wir es ein bisschen bildlicher durch folgendes Beispiel: Stellen Sie sich den Server als Ihr Ladenlokal vor, der Inhalt der Datenbank ist das Lager. Die Statistiken bilden die Liste des aktuellen Lagerbestands. Nun kommt ein Kunde, Sinnbild für die Datenbankabfrage, und möchte die gesamte Ware kaufen, die Sie in den letzten 30 Tagen erhalten haben. Die Lagerbestandsliste (unsere Statistik) wurde seitdem nicht aktualisiert, da sich der Bestand in den letzten 30 Tagen insgesamt nicht um mehr als 20 Prozent geändert hat. Der Verkäufer muss nun also ins Lager gehen und nachschauen, ob etwas hinzugekommen ist. Er greift sich seinen Warenkorb, marschiert ins Lager und macht sich auf die Suche. Sobald er einen neuen Artikel findet, packt er ihn ein und bringt ihn ins Ladenlokal. Anschließend kehrt er ins Lager zurück und sucht weiter. Dies macht er für 100 neue Artikel. Er ist also viel langsamer, als wenn er gewusst hätte, dass es 100 neue Artikel gibt, die er auf einmal hätte holen können.

    Auf folgende Weise können Sie die Statistiken Ihrer Datenbank aktualisieren. Wir empfehlen, dies einmal wöchentlich zu machen. Achten Sie jedoch darauf, die Aktualisierung abends oder am Wochenende durchzuführen, um den laufenden Betrieb nicht zu stören.

    1. Öffnen Sie die Datenbankverwaltung von JTL-Wawi über das Menü Start > Datenbank.
    2. Melden Sie sich in der Datenbank an und wählen Sie den gewünschten Mandanten.
    3. Wählen Sie Performanceoptimierung. Sie erreichen dadurch den Bereich Mandanten optimieren.
    1. Markieren Sie die Option Aktualisierung der Statistiken.
    1. Klicken Sie auf Starten.

    Nicht übertreiben

    Sollten Sie nun auf den Geschmack gekommen sein, Ihre Software zu optimieren, übertreiben Sie es nicht! Greifen Sie nicht eigenständig in die tieferen Funktionen der Datenbank ein. Die Folgen sind erfahrungsgemäß oftmals negativ. Ebenso problematisch sehen wir viele der Datenbankoptimierungstools. Im Kontrast zum datenbankeigenen Tool und den von uns empfohlenen Hilfsmitteln, erschweren andere Helferlein gern Zugriffe von JTL-Wawi auf den SQL-Server. Achten Sie stattdessen lieber darauf, die regelmäßigen Sicherheitsupdates für den Server zu installieren, um sich gegen externe Übergriffe zu schützen.