Ein Microsoft SQL-Server verwaltet nicht nur die reines SQL-Datenbanken, es schreibt auch sogenannte Transaktions-Logdateien mit. Wenn der Administrator nicht auspasst kann es passieren, dass die Größe diese Dateien ins Unermessliche steigt.

In meinem Beispiel hat die Logdatei eine Größe von 246 GB erreicht. Mir ist es nicht großartig aufgefallen, da die Datenbank jede Nacht korrekt gesichert wurde und ich habe angenommen, dass die Transaktionsdatei immer wieder nach erfolgter Sicherung auf Normalgröße zurückgesetzt wird. Dies war aber leider nicht so.

Nun war die Festplatte fast komplett vollgelaufen und die internen Datensicherungen funktionierten auch nicht mehr. Als erstes natürlich eine manuelle Datensicherung durchgeführt – kein Problem. Dann wollte ich aber irgendwie die LOG-Datei verkleinern, aber egal was ich versucht habe, es gelangt mir nicht.

Ob es ein Backup des SQL-Servers der Transaktionsdatei mit automatischen Abschneiden alter Daten war oder zahllose Tipps aus dem Internet, alles erfolglos.

Abhilfe brachte mit dann der Tipp eines Dienstleisters die Transaktionsdateien wie folgt zu verkleinern.

Microsoft SQL Log Datei verkleinern

Hier nachfolgend nochmals der genaue Befehl:

[notification type=“notification_mark“ ]

Alter Database Windowsfaq Set recovery simple
GO

dbcc shrinkfile (‚windowsfaq_log‘, 128)
GO

Alter Database Windowsfaq Set recovery full
GO

[/notification]

Wichtig ist dass oben in der Symbolleiste natürlich die korrekte Datenbank ausgewählt wird, in diesem Fall „Master„. Dann einfach auf „Ausführen“ klicken und dann sollte es funktionieren.

Selbstverständlich übernehme ich keine Gewähr dafür und Ihr solltet unbedingt vorher ein komplettes Backup Eurer Maschine durchführen.

Sollte es beim Zugriff Probleme geben so ist die Datenbank vorher evtl. kurz Offline und danach gleich Online zu schalten, damit Ihr exclusiven Zugriff auf die Datenbank habt.

Nachdem das Logfile nun verkleinert ist hat es anstatt einer Größe von 246GB jetzt nur noch einen Umfang von 128MB.