Was kann ich tun wenn mein SQL Server riesige ERRORLOG Dateien erzeugt?

Manchmal stellt man fest dass die Festplatte auf dem Server voll ist, obwohl man kaum Daten auf dem Server hat und die Datenbank des Server auch nur klein ist.

Die Antwort ist meistens dass die ERRORLOG Dateien des SQL Servers angeschwollen sind. In der Regel hat jeder Server 6 ERRORLOG Dateien maximal. Diese rotieren aus, das bedeutet, der Server beginnt irgendwann ein neues Log und das älteste wird gelöscht. Nun kommt es aber manchmal vor das eine ERRORLOG Datei mehrere Gigabyte groß wird, und dass, obwohl in der Regel nur eher wenig nützliche Informationen darin stehen.  
Die Folge ist eine volle Festplatte, was manchmal dafür sorgen kann das man sich nicht mehr am Server anmelden kann, die JTL-Wawi Fehler produziert oder andere Programme nicht mehr ausgeführt werden können. 

 

Die gute Nachricht, man kann sich davor absichern. 

WICHTIG!: Die Umsetzung dieser Lösung erfordert einige Handgriffe im Registry des Servers. Im Registry Dinge zu tätigen ist das IT Äquivalent zur Gehirnchirurgie. Unaufmerksamkeit oder Fehler können die Funktion Ihres Servers beeinflussen! Wenn Sie sich nicht sicher sind was Sie da tun, kontaktieren Sie uns direkt, wir setzen das gerne für Sie um. 

 

Zunächst öffnen wir Regedit. Einfach auf das Windows Symbol unten links klicken und nach „ausführen“ suchen. Das Icon anklicken das sich öffnet und regedit eingeben. Damit das klappt muss man als Administrator angemeldet sein. 

Auf der linken Seite ist die Navigation des Registrys. Hier folgenden wir folgendem Pfad:

  • HKEY_LOCAL_MASCHINE
  • SOFTWARE
  • Microsoft
  • Microsoft SQL Server
  • MSSQL14.JTLWAWI oder Name der Instanz die betroffen ist.
  • MSSQLServer

In diesem Ordner legt man nun mit einem rechts Klick -> Neu -> DWORD-Wert (32-Bit) einen neuen Wert an.

Als Bezeichnung / Name des Wert verwendet man: ErrorLogSizeInKb

Den Wert des neuen DWORD-Eintrages bestimmt die maximale Größe der Log-Datei in Kilobyte. Soll ein Logfile nicht größer als 50 MB sein wären der Wert also c350 in Hexadezimal oder 50000 in Dezimal.

Nun erstellt man wie zuvor einen weiteren DWORD-Wert mit dem Namen: NumErrorLogs Hier entscheidet der Wert über die maximale Anzahl von vorhandenen Log-Dateien. Für 10 Logs also 10 in Dezimal oder a in Hexadezimal.

Damit die Regel greift muss nun der SQL-Server Dienst für diese Instanz neu gestartet werden.

 

War dieser Eintrag hilfreich?

Aktualisiert: 24. Februar 2020
Autor: Uwe Kleefeldt
ID: 18424

Serverstandort Deutschland

Für Ihre Datensicherheit: Wir hosten alle Systeme in unserem eigenen Rechenzentrum in Reutlingen, Baden-Württemberg.