Símptoma:

Quan s'utilitza DBCC CHECKDB amb REPAIR_ALLOW_DATA_LOSS paràmetre per reparar una base de dades .MDF corrupta, com aquesta:

DBCC CHECKDB(xxxx, 'REPAIR_ALLOW_DATA_LOSS')

veus el següent missatge d'error:

Msx 5028, Nivell 16, Estat 4, Línia 4
El sistema no ha pogut activar prou de la base de dades per reconstruir el registre.
Resultats DBCC per a "xxxx".
CHECKDB ha trobat 0 errors d'assignació i 0 errors de consistència a la base de dades "xxxx".
Msx 7909, Nivell 20, Estat 1, Línia 4
La reparació en mode d'emergència ha fallat. Heu de restaurar des de la còpia de seguretat.

on "xxxx" és el nom de la base de dades MDF corrupta que s'està reparant.

Missatge 5028 error no és ni un error d'assignació ni un error de coherència.

Mentre que Missatge 7909 és un error greu que pot ocórrer en moltes situacions sempre SQL Server Crec que la base de dades està més enllà de la recuperació.

Captura de pantalla del missatge d'error:

Explicació precisa:

El missatge d'error (Missatge 5028) sembla estar relacionat amb el fitxer LOG. Tanmateix, això és un informe errònia. El problema real encara és causat per la corrupció de la base de dades MDF.

Podeu utilitzar el nostre producte DataNumen SQL Recovery per recuperar les dades del fitxer MDF corrupte i resoldre aquest error.

Fitxers de mostra:

Exemple de fitxers MDF corruptes que provocaran Missatge 5028 error:

SQL Server versió Fitxer MDF danyat Fitxer MDF arreglat per DataNumen SQL Recovery
SQL Server 2014 Error3.mdf Error3_fixed.mdf