Síntoma:

Cuando usas DBCC CHECKDB es 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 5028, nivel 16, estado 4, línea 4
El sistema no pudo activar suficiente base de datos para reconstruir el registro.
Resultados DBCC para 'xxxx'.
CHECKDB encontró 0 errores de asignación y 0 errores de coherencia en la base de datos 'xxxx'.
Msg 7909, nivel 20, estado 1, línea 4
La reparación en modo de emergencia falló. Debe restaurar desde la copia de seguridad.

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

Mensaje 5028 El error no es un error de asignación ni un error de coherencia.

Aunque la Mensaje 7909 es un error grave que puede ocurrir en muchas situaciones siempre que SQL Server Creo que la base de datos no se puede recuperar.

Captura de pantalla del mensaje de error:

Explicación precisa:

El mensaje de error (Mensaje 5028) parece estar relacionado con el archivo LOG. Sin embargo, este es un informe erróneo. El problema real sigue siendo causado por la corrupción de la base de datos MDF.

Puedes usar nuestro producto DataNumen SQL Recovery para recuperar los datos del archivo MDF corrupto y solucionar este error.

Archivos de muestra:

Ejemplos de archivos MDF corruptos que provocarán Mensaje 5028 error:

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