¿Qué es el formato de archivo LDF?
Un archivo .ldf es un Archivo de Registro de Transacciones creado por Microsoft SQL Server para registrar cada cambio realizado en una base de datos antes de que dichos cambios se escriban en el disco. Implementa una estrategia de registro de escritura anticipada (write-ahead logging): SQL Server escribe primero un registro de log y luego aplica el cambio correspondiente a las páginas de datos.
Cada .ldf funciona como el compañero emparejado de un archivo de datos primario .mdf. Sin un archivo de registro en buen estado, la base de datos no puede ponerse en línea; eliminar o perder un .ldf fuera de los procedimientos controlados puede hacer que una base de datos sea irrecuperable.
Internamente, el registro se divide en Archivos de Registro Virtuales (VLF): segmentos fijos que SQL Server asigna y reutiliza de forma circular. Cada registro de log lleva un Número de Secuencia de Log (LSN) único, un valor de 10 bytes que codifica el número de archivo, el desplazamiento del bloque y la ranura dentro de un bloque de log de 512 bytes. La cadena LSN es lo que el motor sigue durante la recuperación de fallos para rehacer las transacciones confirmadas y deshacer las incompletas.
El .ldf sustenta varias funciones críticas de SQL Server:
- Recuperación de fallos: reproducir o revertir transacciones en curso tras un apagado inesperado.
- Restauración a un punto en el tiempo: se utiliza junto con una copia de seguridad completa .bak y copias de seguridad de registros .trn bajo el modelo de recuperación FULL.
- Replicación y Captura de Datos Modificados (CDC): lectura de cambios confirmados directamente desde el registro.
El formato es binario propietario sin magic bytes documentados públicamente y no se puede abrir a mano. Herramientas de terceros como ApexSQL Log o Redgate SQL Log pueden decodificar los registros de log para fines de auditoría o forenses. Desde SQL Server 2017 en adelante, los archivos .ldf son compatibles de forma idéntica en Linux y en contenedores Docker junto con los archivos de datos secundarios .ndf.
Seguridad y protección
RIESGO: MEDIUMEl archivo son datos, no un ejecutable, por lo que no conlleva riesgo directo de malware. El peligro real es operativo: eliminar o desadjuntar un .ldf de una base de datos activa o en estado «sospechoso» puede causar pérdida de datos o hacer que la base de datos sea irrecuperable, y crear una base de datos sin su registro (o con un registro reconstruido) pierde las transacciones en curso. Nunca edite a mano un .ldf. Si el registro es enorme, redúzcalo de la forma admitida (copia de seguridad del registro y luego DBCC SHRINKFILE) en lugar de eliminarlo. Los registros cifrados con TDE requieren el certificado/claves de la base de datos para restaurarse.
Detalles del formato
en pocas palabrasProgramas que abren archivos LDF
Detalles técnicos
especificación profunda| Codificación | Binario, little-endian |
| Estructura del contenedor | Secuencia de Archivos de Registro Virtuales (VLF); SQL Server asigna y reutiliza los VLF en un patrón circular a medida que se libera espacio de registro |
| Unidad de registro de log | Registros de log de longitud variable empaquetados en bloques de log de 512 bytes |
| Identificador de registro | Número de Secuencia de Log (LSN): un valor de 10 bytes que codifica el número de archivo de registro, el desplazamiento del bloque dentro del archivo y el número de ranura dentro del bloque |
| Reutilización circular | El espacio de registro se reclama y reutiliza una vez que la parte activa ya no es necesaria: después de un punto de control en el modelo SIMPLE o una copia de seguridad del registro en el modelo FULL |
| Soporte de modelo de recuperación | El comportamiento difiere según el modelo de recuperación de SQL Server: SIMPLE (se trunca automáticamente en el punto de control), BULK-LOGGED (registro mínimo para operaciones masivas), FULL (el registro crece hasta que se realiza una copia de seguridad del registro) |
| Archivo de datos emparejado | Siempre emparejado con al menos un archivo de datos primario `.mdf`; los archivos de datos adicionales utilizan la extensión `.ndf` |
| Tamaño máximo de archivo | Hasta 2 TB por archivo de registro en Windows NTFS/ReFS; una sola base de datos puede tener múltiples archivos `.ldf`, cada uno sujeto a este límite |
| Cifrado | Sin cifrar por defecto; se cifra automáticamente cuando el Cifrado de Datos Transparente (TDE) está habilitado en la base de datos |
| Compresión | El propio `.ldf` se almacena sin comprimir; las copias de seguridad de registros escritas en archivos `.trn` o `.bak` pueden utilizar la compresión de copia de seguridad de SQL Server |
| Suma de comprobación / Integridad | Detección opcional de páginas rotas y sumas de comprobación de página configurables a nivel de base de datos; el motor valida la cadena LSN en cada recuperación |
| Crecimiento automático | SQL Server aumenta automáticamente el tamaño del `.ldf` cuando se llena; el incremento de crecimiento es configurable en MB fijos o porcentaje; el crecimiento automático excesivo en incrementos pequeños causa fragmentación de VLF y una recuperación más lenta |
| Vinculación de versión interna | El formato está ligado a la versión del motor de SQL Server y al nivel de compatibilidad de la base de datos; SQL Server 2022, por ejemplo, utiliza la versión de base de datos interna 904 |
| Soporte de plataforma de SO | Windows (todas las versiones modernas de SQL Server); Linux y contenedores Docker (SQL Server 2017 y posteriores a través de SQL Server en Linux) |
| Tipo MIME | application/octet-stream (no hay un tipo MIME dedicado registrado para este formato) |
| Acceso directo | No está destinado a la apertura o análisis directo; se accede a través del motor de SQL Server al adjuntar, comandos RESTORE DATABASE o lectores de registros de terceros como ApexSQL Log o Redgate SQL Log |
| Lanzado | Microsoft SQL Server (log architecture present since the Sybase-derived 4.x/6.x era, 1990s) |
| Última versión | Format tied to the database compatibility/engine version (e.g. SQL Server 2022, internal db version 904) |
| Especificación | learn.microsoft.com |
Conversiones de LDF
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos LDF.