Síntoma:

Ao usar DBCC CHECKDB con REPAIR_ALLOW_DATA_LOSS parámetro para reparar unha base de datos .MDF corrupta, como este:

DBCC CHECKDB(xxxx, 'REPAIR_ALLOW_DATA_LOSS')

ves a seguinte mensaxe de erro:

Msg 5028, nivel 16, estado 4, liña 4
O sistema non puido activar o suficiente da base de datos para reconstruír o rexistro.
Resultados DBCC para 'xxxx'.
CHECKDB atopou 0 erros de asignación e 0 erros de coherencia na base de datos "xxxx".
Msg 7909, nivel 20, estado 1, liña 4
Produciuse un erro na reparación do modo de emerxencia. Debes restaurar desde a copia de seguranza.

onde "xxxx" é o nome da base de datos MDF corrupta que se está a reparar.

Mensaxe 5028 o erro non é nin un erro de asignación nin un erro de coherencia.

Mentres Mensaxe 7909 é un erro grave que pode ocorrer en moitas situacións sempre que SQL Server creo que a base de datos está fóra da recuperación.

Captura de pantalla da mensaxe de erro:

Explicación precisa:

A mensaxe de erro (Mensaxe 5028) parece estar relacionado co ficheiro LOG. Non obstante, este é un informe erróneo. O problema real aínda é causado pola corrupción da base de datos MDF.

Podes usar o noso produto DataNumen SQL Recovery para recuperar os datos do ficheiro MDF corrupto e resolver este erro.

Ficheiros de mostra:

Mostra ficheiros MDF corruptos que provocarán o Mensaxe 5028 erro:

SQL Server versión Ficheiro MDF danado Arquivo MDF corrixido por DataNumen SQL Recovery
SQL Server 2014 Erro3.mdf Erro3_fixed.mdf