När du använder Microsoft SQL Server för att bifoga eller komma åt en korrupt MDF-databasfil kommer du att se olika felmeddelanden, vilket kan vara lite förvirrande för dig. Därför kommer vi här att försöka lista alla möjliga fel, sorterade efter deras förekommande frekvens. För varje fel kommer vi att beskriva dess symptom, förklara dess exakta orsak och ge exempelfiler såväl som filen fixad av vår DataNumen SQL Recovery, så att du kan förstå dem bättre. Nedan kommer vi att använda 'xxx.MDF' för att uttrycka din korrupta SQL Server MDF-databasfilnamn.
Baserat på SQL Server eller CHECKDB felmeddelanden, det finns tre typer av fel som kan orsaka fel:

    1. Tilldelningsfel: Vi vet att data i MDF- och NDF-filer allokeras som sidor. Och det finns några speciella sidor som används för allokeringshantering, enligt följande:
Sidtyp Beskrivning
GAM-sida Lagra global tilldelningskarta (GAM).
SGAM sida Lagra information om delad global tilldelningskarta (SGAM).
IAM-sida Lagra information om indexfördelningskarta (IAM).
PFS-sida Lagra information om PFS-tilldelning.

Om någon av ovanstående tilldelningssidor har fel, eller om data som hanteras av dessa tilldelningssidor är oförenliga med allokeringsinformationen, då SQL Server eller CHECKDB kommer att rapportera allokeringsfel.

  • Konsistensfel: För sidor som används för att lagra data, inklusive datasidor och indexsidor, om SQL Server eller CHECKDB hittar någon inkonsekvens mellan sidinnehållet och kontrollsumman, då rapporterar de konsistensfel.
  • Alla andra fel: Det kan finnas andra fel som inte faller inom ovanstående två kategorier.

 

SQL Server har ett inbyggt verktyg som heter DBCC, som har CHECKDB och KONTROLLERBAR alternativ som kan hjälpa till att reparera en korrupt MDF-databas. För allvarligt skadade MDB-databasfiler, DBCC CHECKDB och KONTROLLERBAR kommer också att misslyckas.

Konsekvensfel rapporterade av CHECKDB:

Tilldelningsfel rapporterade av CHECKDB:

Alla andra fel rapporterade av CHECKDB: