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 |