Síntoma:

Cuando usas DBCC CHECKDB con REPAIR_ALLOW_DATA_LOSS parámetro para reparar una base de datos .MDF corrupta, como este:

DBCC CHECKDB (xxxx, 'REPAIR_ALLOW_DATA_LOSS')

ve el siguiente mensaje de error:

Msg 5125, nivel 24, estado 2, línea 2
Archivo 'C: Archivos de programa Microsoft SQL ServerMSSQL12.SQL2014MSSQLDATAError1.mdf 'parece haber sido truncado por el sistema operativo. El tamaño esperado es 5120 KB, pero el tamaño real es 5112 KB.
Msg 3414, nivel 21, estado 1, línea 2
Se produjo un error durante la recuperación, evitando que la base de datos 'Error1' (39: 0) se resuelvatartintineo. Diagnostique los errores de recuperación y corríjalos, o restaure desde una copia de seguridad en buen estado. Si los errores no se corrigen o no se esperan, comuníquese con el Soporte técnico.

donde 'Error1' es el nombre de la base de datos MDF corrupta que se está reparando.

Mensaje 5125 El error es más un error de asignación ni un error de coherencia. Ocurre cuando se elimina la parte de la cola del archivo MDB, debido a la corrupción de datos.

Captura de pantalla del mensaje de error:

Explicación precisa:

Cuando se elimina la parte de la cola del archivo MDB, CHECKDB reportará Mensaje 5125 error e intente solucionarlo. Si la base de datos no se puede arreglar, producirá Mensaje 3414 error.

En realidad, la base de datos también se puede recuperar, si utiliza nuestro producto DataNumen SQL Recovery para hacer la tarea.

Archivos de muestra:

SQL Server versión Archivo MDF dañado Archivo MDF arreglado por DataNumen SQL Recovery
SQL Server 2014 Error8.mdf Error8_fixed.mdf

Referencias: