Når du bruger Microsoft SQL Server for at vedhæfte eller få adgang til en korrupt MDF-databasefil, kan du støde på en række fejlmeddelelser, der kan være forvirrende. Nedenfor vil vi liste alle fejl, sorteret efter hyppighed. For hver fejl vil vi skitsere dens symptomer, forklare den nøjagtige årsag og levere eksempelfiler sammen med filerne, der er rettet af DataNumen SQL Recovery. Dette vil hjælpe dig med bedre at forstå disse fejl. Bemærk 'xxx.MDF' vil repræsentere navnet på din korrupte SQL Server MDF database fil.
Baseret på SQL Server eller CHECKDB fejlmeddelelser, er der tre slags fejl:
-
- Tildelingsfejl: Vi ved, at dataene i MDF- og NDF-filer tildeles som sider. Og der er nogle specielle sider, der bruges til tildelingsstyring som følger:
Sidetype | Beskrivelse |
GAM-side | Gem info om global tildelingskort (GAM). |
SGAM side | Gem fælles information om global tildelingskort (SGAM). |
IAM-side | Gem info om indeksallokering (IAM). |
PFS-side | Gem PFS-tildelingsoplysninger. |
Hvis nogen af ovenstående tildelingssider har fejl, eller de data, der administreres af disse tildelingssider, er uforenelige med allokeringsoplysningerne, så SQL Server eller CHECKDB rapporterer tildelingsfejl.
- Konsistensfejl: Til sider der bruges til at gemme data, inklusive datasiderne og indekssiderne, hvis SQL Server eller CHECKDB finder uoverensstemmelse mellem sideindholdet og kontrolsummen, så rapporterer de konsistensfejl.
- Alle andre fejl: Der kan være andre fejl, der ikke falder ind under de to ovennævnte kategorier.
- xxxx.mdf er ikke en primær databasefil. (Microsoft SQL Server, Fejl: 5171)
- Overskriften til filen 'xxxx.mdf' er ikke en gyldig databaseoverskrift. FILE SIZE-egenskaben er forkert. (Microsoft SQL Server, Fejl: 5172)
- SQL Server registreret en logisk konsistensbaseret I / O-fejl: forkert kontrolsum
- SQL Server registreret en logisk konsistensbaseret I / O-fejl: revet side
- Du sletter ved en fejltagelse nogle poster eller nogle tabeller i databasen.
SQL Server har et indbygget værktøj kaldet DBCC, som har CHECKDB og KONTROLBAR muligheder, der kan hjælpe med at reparere en korrupt MDF-database. For alvorligt beskadigede MDB-databasefiler, DBCC CHECKDB og KONTROLBAR vil også mislykkes.
Konsistensfejl rapporteret af CHECKDB:
- SQL Server registreret en logisk konsistensbaseret I / O-fejl: forkert kontrolsum
- Række i sys.xxx har ikke en matchende række i sys.xxx.
- Tabelfejl: Objekt-ID ##, indeks-ID ## genopbygges.
- Dette systemtabelindeks kan ikke genskabes.
- Objekt-ID ##, indeks-ID ##, partitions-ID ##, tildelingsenhed ID ## (type Ukendt), side-ID (##: 560) indeholder et forkert side-ID i sin sideoverskrift.
Tildelingsfejl rapporteret af CHECKDB:
- IAM-siden (Index Allocation Map) peges på af den næste markør på IAM-siden
- Omfang (##: ##) i database-ID ## er markeret tildelt i GAM, men ingen SGAM eller IAM har tildelt det.
Alle andre fejl rapporteret af CHECKDB:
- Mislykkedes: (- #######) Udførelse af forespørgslen "DBCC CHECKDB (xxxx) WITH NO_INFOMSGS" mislykkedes med følgende fejl: "xxxx".
- I / O-fejl (dårlig side-ID) detekteret under læsning ved forskydning 0x ###### i fil 'xxxx.mdf'.
- Systemet kunne ikke aktiveres nok af databasen til at genopbygge loggen
- Datatab ved reparation med CHECKDB
- Filen ser ud til at være trunket af operativsystemet.
- Under gentagelse af en logget handling i databasen 'xxxx' opstod der en fejl ved log-record-id'et.