Die Dateigröße einer Microsoft SQL Server Transaktionsprotokoll Datei verkleinern

Es kann passieren, dass Sie das Transaktionsprotokoll einer Microsoft SQL Server Datenbank nicht verkleinern können (wohl die Anzahl der Einträge, nicht aber die Dateigröße).
Der folgende Code verkleinert das Transaktionsprotokoll bis zur kleinsten möglichen Größe:

USE DatabaseName
GO
DBCC SHRINKFILE(<TransactionLogName>, 1)
BACKUP LOG <DatabaseName> WITH TRUNCATE_ONLY
DBCC SHRINKFILE(<TransactionLogName>, 1)
GO

Update 2019

Bei dem Backup-Befehl funktioniert „WITH TRUNCATE_ONLY“ nicht mehr (Seit SQL Server 2008).

Führen Sie stattdessen folgenden Code aus:

USE Datenbankname
GO
DBCC SHRINKFILE(Logischer_Transaktionsprotokoll_Name, 1)
BACKUP LOG Datenbankname TO DISK='X:\Pfad\Dateiname.trn'
DBCC SHRINKFILE(Logischer_Transaktionsprotokoll_Name, 1)
GO

Führen Sie den Code 2 Mal aus. Der erste Durchlauf wird je nach Größe der Transaktionsprotokoll-Datei (sehr) lange dauern. Beim zweiten Durchlauf werden die Daten reorganisiert und aus dem Log entfernt, so dass dann das Transaktionsprotokoll schrumpft. Dieser Vorgang dauert in der Regel nur ein paar Sekunden.

Frank Piotrowsky

Frank Piotrowsky ist Consultant für IT und Produktivität und beschäftigt sich mit der Automatisierung von Arbeitsprozessen, Netzwerkadministration und deren Automatisierung, sowie mit Software-Entwicklung, die ebenfalls in diese Richtung zielt. "Wenn der Computer die Arbeit für Sie erledigen kann, warum sollten Sie sie dann tun?" ist die Philosophie, die hinter dem Thema steckt.

>