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 |