Was ist das LDF-Dateiformat?
Eine .ldf-Datei ist eine Transaktionsprotokolldatei, die von Microsoft SQL Server erstellt wird, um jede an einer Datenbank vorgenommene Änderung aufzuzeichnen, bevor diese Änderungen auf die Festplatte geschrieben werden. Sie implementiert eine Write-Ahead-Logging-Strategie: SQL Server schreibt zuerst einen Protokolldatensatz und wendet dann die entsprechende Änderung auf die Datenseiten an.
Jede .ldf fungiert als gepaarter Begleiter zu einer primären .mdf-Datendatei. Ohne eine intakte Protokolldatei kann die Datenbank nicht online gehen; das Löschen oder Verlieren einer .ldf außerhalb kontrollierter Verfahren kann eine Datenbank unwiederherstellbar machen.
Intern ist das Protokoll in Virtual Log Files (VLFs) unterteilt - feste Segmente, die SQL Server kreisförmig zuweist und wiederverwendet. Jeder Protokolldatensatz trägt eine eindeutige Log Sequence Number (LSN), einen 10-Byte-Wert, der die Dateinummer, den Block-Offset und den Slot innerhalb eines 512-Byte-Protokollblocks kodiert. Die LSN-Kette ist das, woran sich die Engine während der Absturzwiederherstellung orientiert, um abgeschlossene Transaktionen erneut auszuführen (Redo) und unvollständige rückgängig zu machen (Undo).
Die .ldf bildet die Grundlage für mehrere kritische SQL Server-Funktionen:
- Absturzwiederherstellung - Wiedereinspielen oder Rückgängigmachen laufender Transaktionen nach einem unerwarteten Herunterfahren
- Point-in-Time-Wiederherstellung - wird zusammen mit einer .bak-Vollsicherung und .trn-Protokollsicherungen im Wiederherstellungsmodell VOLLSTÄNDIG verwendet
- Replikation und Change Data Capture (CDC) - direktes Lesen bestätigter Änderungen aus dem Protokoll
Das Format ist proprietär binär ohne öffentlich dokumentierte Magic Bytes und kann nicht manuell geöffnet werden. Drittanbieter-Tools wie ApexSQL Log oder Redgate SQL Log können Protokolldatensätze für Audit- oder Forensikzwecke dekodieren. Ab SQL Server 2017 werden .ldf-Dateien auf Linux und in Docker-Containern identisch neben den sekundären .ndf-Datendateien unterstützt.
Sicherheit
RISIKO: MEDIUMDie Datei enthält Daten, keine ausführbaren Inhalte, daher besteht kein direktes Malware-Risiko. Die eigentliche Gefahr ist betrieblicher Natur: Das Löschen oder Trennen einer .ldf von einer aktiven oder „verdächtigen“ Datenbank kann zu Datenverlust führen oder die Datenbank unwiederherstellbar machen. Das Erstellen einer Datenbank ohne ihr Protokoll (oder mit einem neu erstellten Protokoll) führt zum Verlust laufender Transaktionen. Bearbeiten Sie eine .ldf niemals manuell. Wenn das Protokoll riesig ist, verkleinern Sie es auf dem unterstützten Weg (Protokoll sichern, dann DBCC SHRINKFILE), anstatt es zu löschen. TDE-verschlüsselte Protokolle erfordern das Zertifikat/die Schlüssel der Datenbank zur Wiederherstellung.
Formatdetails
kurz gefasstProgramme zum Öffnen von LDF-Dateien
Technische Details
technische Spezifikation| Kodierung | Binär, Little-Endian |
| Container-Struktur | Sequenz von Virtual Log Files (VLFs); SQL Server weist VLFs kreisförmig zu und verwendet sie wieder, sobald Protokollspeicher frei wird |
| Protokoll-Datensatzeinheit | Protokolldatensätze variabler Länge, verpackt in 512-Byte-Protokollblöcke |
| Datensatz-Identifikator | Log Sequence Number (LSN) - ein 10-Byte-Wert, der die Protokolldateinummer, den Block-Offset innerhalb der Datei und die Slot-Nummer innerhalb des Blocks kodiert |
| Kreisförmige Wiederverwendung | Protokollspeicher wird zurückgefordert und wiederverwendet, sobald der aktive Teil nicht mehr benötigt wird - nach einem Checkpoint im Modell EINFACH oder einer Protokollsicherung im Modell VOLLSTÄNDIG |
| Unterstützung von Wiederherstellungsmodellen | Das Verhalten unterscheidet sich je nach SQL Server-Wiederherstellungsmodell: EINFACH (automatisches Abschneiden beim Checkpoint), MASSENPROTOKOLLIERT (minimale Protokollierung für Massenvorgänge), VOLLSTÄNDIG (Protokoll wächst, bis eine Protokollsicherung erstellt wird) |
| Gepaarte Datendatei | Immer mit mindestens einer primären `.mdf`-Datendatei gepaart; zusätzliche Datendateien verwenden die Erweiterung `.ndf` |
| Maximale Dateigröße | Bis zu 2 TB pro Protokolldatei auf Windows NTFS/ReFS; eine einzelne Datenbank kann mehrere `.ldf`-Dateien haben, die jeweils diesem Limit unterliegen |
| Verschlüsselung | Standardmäßig unverschlüsselt; wird automatisch verschlüsselt, wenn Transparent Data Encryption (TDE) für die Datenbank aktiviert ist |
| Kompression | Die `.ldf` selbst wird unkomprimiert gespeichert; Protokollsicherungen, die in `.trn`- oder `.bak`-Dateien geschrieben werden, können die SQL Server-Sicherungskomprimierung nutzen |
| Prüfsumme / Integrität | Optionale Erkennung von zerrissenen Seiten (Torn-Page Detection) und Seitenprüfsummen auf Datenbankebene konfigurierbar; die Engine validiert die LSN-Kette bei jeder Wiederherstellung |
| Automatisches Wachstum | SQL Server lässt die `.ldf` automatisch wachsen, wenn sie voll ist; das Wachstumsinkrement ist in festen MB oder Prozentsätzen konfigurierbar; übermäßiges automatisches Wachstum in kleinen Schritten verursacht VLF-Fragmentierung und langsamere Wiederherstellung |
| Interne Versionsbindung | Das Format ist an die Version der SQL Server-Engine und den Datenbank-Kompatibilitätsgrad gebunden; SQL Server 2022 verwendet beispielsweise die interne Datenbankversion 904 |
| Betriebssystem-Plattformunterstützung | Windows (alle modernen SQL Server-Versionen); Linux und Docker-Container (SQL Server 2017 und höher via SQL Server on Linux) |
| MIME-Typ | application/octet-stream (kein dedizierter MIME-Typ für dieses Format registriert) |
| Direkter Zugriff | Nicht zum direkten Öffnen oder Parsen gedacht; Zugriff erfolgt über das Anhängen an die SQL Server-Engine, RESTORE DATABASE-Befehle oder Log-Reader von Drittanbietern wie ApexSQL Log oder Redgate SQL Log |
| Veröffentlicht | Microsoft SQL Server (log architecture present since the Sybase-derived 4.x/6.x era, 1990s) |
| Neueste Version | Format tied to the database compatibility/engine version (e.g. SQL Server 2022, internal db version 904) |
| Spezifikation | learn.microsoft.com |
LDF-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu LDF-Dateien.