Transaktionsprotokoll verkleinern


Der Microsoft SQL Server verwendet pro Datenbank (mindestens) zwei Dateien: Eine Datendatei und eine Transaktionsprotokolldatei.

Bei meinen Kunden ist es nun schon des öfteren vorgekommen, daß die Partition durch Transaktionsprotokolldatei vollständig belegt war. Der SQL-Server nimmt die betroffene Datenbank dann offline.
Der Grund dieses Verhaltens ist meist eine Fehlkonfiguration, bei der die Datenbank-Optionen und das Sicherungsmodell nicht zueinander passen.

Das Transaktionsprotokoll verkleinern

Sofern noch ein wenig Platz auf det Partition vorhanden ist, kann das recht einfach mit den folgenden Schritten gemacht werden.

Zuerst erstellt man ein Backup des Transaktionsprotokolls der betroffenen Datenbank

SQL Server Management Studio
Rechtsklick auf die Datenbank, Sichern
Den Sicherungstyp auf "Transaktionsprotokoll" umstellen
Unten als Sicherungsziel eine Festplattendatei angeben.
Die muss auf einem Laufwerk liegen, auf dem Schreibzugriff besteht und auf dem genügend Platz frei ist.
Die Sicherung ausführen.
SQL-Kommando
BACKUP LOG Name_der_Datenbank TO DISK='z:VerzeichnisDateiname.trn'

Anschließend weisen wir den SQL-Server an, das Transaktionsprotokoll zu verkleinern

SQL Server Management Studio
Rechtsklick auf die Datenbank, Tasks, Verkleinern, Dateien
Als Dateityp "Protokoll" auswählen
Die Option zum Freigeben von Speicherplatz auswählen
Ausführen
SQL-Kommando
DBCC SHRINKFILE (Name_der_logischen_Protokolldatei)

Der Name der logischen Protokolldatei ist nicht mit dem Namen im Dateisystem identisch.
Der Name kann mit folgendem Kommando ermittelt werden:

EXEC sp_helpdb Name_der_Datenbank

Nach diesen Schritten im Datei-Explorer prüfen, ob der Speicherplatz freigegeben wurde.
Sollte das nicht der Fall sein, müssen die genannten Schritte wiederholt werden. (war bei mir bisher immer der Fall).