Symptom:

Når du bruger DBCC CHECKDB med REPAIR_ALLOW_DATA_LOSS parameter til at reparere en korrupt .MDF-database, som denne:

DBCC CHECKDB (xxxx, 'REPAIR_ALLOW_DATA_LOSS')

du ser følgende fejlmeddelelse:

Msg 5028, Level 16, State 4, Line 4
Systemet kunne ikke aktivere nok af databasen til at genopbygge loggen.
DBCC-resultater for 'xxxx'.
CHECKDB fandt 0 tildelingsfejl og 0 konsistensfejl i databasen 'xxxx'.
Msg 7909, Level 20, State 1, Line 4
Reparationen i nødstilstand mislykkedes. Du skal gendanne fra sikkerhedskopien.

hvor 'xxxx' er navnet på den korrupte MDF-database, der repareres.

Meddelelse 5028 fejl er hverken en allokeringsfejl eller en konsistensfejl.

Mens Meddelelse 7909 er en alvorlig fejl, der kan opstå i mange situationer, når som helst SQL Server tror databasen er ud over gendannelse.

Skærmbillede af fejlmeddelelse:

Præcis forklaring:

Fejlmeddelelsen (Meddelelse 5028) synes at være relateret til LOG-filen. Dette er imidlertid en forkert rapportering. Det egentlige problem skyldes stadig korruption af MDF-databasen.

Du kan bruge vores produkt DataNumen SQL Recovery for at gendanne dataene fra den korrupte MDF-fil og løse denne fejl.

Prøvefiler:

Prøve korrupte MDF-filer, der vil forårsage Meddelelse 5028 fejl:

SQL Server udgave Korrupt MDF-fil MDF-fil rettet af DataNumen SQL Recovery
SQL Server 2014 Fejl3.mdf Fejl3_fixed.mdf