Transaction-Log bei SQL-Server wird immer größer
Ein Kunde hatte kürzlich das Problem, dass das Transaction-Log auf einem Microsoft SQL-Server immer größer wurde.
Der Speicherplatz wurde nie freigegeben. Beim Vergrößern der Transaction-Log-Datei kam es zu Timeouts, weil die Datei jeweils um 10 % vergrößert wurde und mittlerweile eine Größe von fast 100 GB erreicht hatte. Das Vergrößern um fast 10 GB hat länger gedauert, als das eingestellte Zeitlimit.
Das Transaction-Log speichert alle Transaktionen und Änderungen, die an der Datenbank vorgenommen werden. Sofern bei der jeweiligen Datenbank das Recovery-Model auf Full oder Bulk eingestellt ist, wird das Transaction-Log erst nach einem Transaction-Log-Backup freigeben.
Lösung
Um das Problem zu beheben, haben wir folgende Schritte unternommen:
-
Prüfen, ob der Server auf ein Transaction-Log-Backup wartet: Dafür haben wir folgende Abfrage verwendet:
select name, log_reuse_wait_desc from sys.databases -
Transaction-Log sichern: Die Erstellung eines Transaction-Log-Backups führt dazu, dass der Speicherplatz in der Datei für das Transaction-Log freigeben wird. Die Datei wird dabei allerdings nicht verkleinert.
-
Optional: Shrink durchführen: Falls der Speicherplatz auch auf der Festplatte freigeben werden soll, kann die Transaction-Log-Datei ggf. verkleinert werden.
-
Regelmäßige Wartung einrichten: Um sicherzustellen, dass regelmäßige Sicherungen des Transaction-Logs und der Datenbank durchgeführt werden, haben wir einen Maintenance-Plan auf dem SQL-Server eingerichtet. Über den Maintenance-Plan werden die Backups regelmäßig automatisch im Hintergrund durchgeführt. Zukünftige Probleme mit dem Transaction-Log werden so vermieden. Bei der Einrichtung von Backups ist aus unserer Sicht generell darauf zu achten, dass auch der Restore-Prozess zuverlässig und in akzeptabler Geschwindigkeit funktioniert.
Fazit
Bei SQL-Server-Datenbanken im Recovery-Modus Full und Bulk müssen regelmäßige Transaction-Log-Sicherungen durchgeführt werden, um zu verhindern, dass das Transaction-Log unkontrolliert wächst und den verfügbaren Speicherplatz aufbraucht.