Wann Dir Microsoft benotzt SQL Server fir eng korrupt MDF-Datebankdatei ze befestigen oder zouzegräifen, kënnt Dir vill verschidde Fehlermeldungen begéinen, déi duerchernee kënne sinn. Drënner wäerte mir all Feeler oplëschten, no Frequenz zortéiert. Fir all Feeler wäerte mir seng Symptomer skizzéieren, déi exakt Ursaach erklären, a Probedateien zesumme mat de Dateien déi fixéiert sinn DataNumen SQL Recovery. Dëst hëlleft Iech dës Feeler besser ze verstoen. Notéiert 'xxx.MDF' wäert den Numm vun Ärem korrupte representéieren SQL Server MDF Datebank Datei.
Baséiert op SQL Server oder CHECKDB Fehlermeldungen, ginn et dräi Aarte vu Feeler:
-
- Allocatioun Feeler: Mir wëssen datt d'Donnéeën an MDF & NDF Dateien als zougedeelt ginn Säiten. An et ginn e puer speziell Säiten déi fir d'Allokatiounsmanagement benotzt ginn, wéi follegt:
Säitentyp | description |
GAM Säit | Store global Allocation Map (GAM) Info. |
SGAM Säit | Store gemeinsame Global Allocation Map (SGAM) Info. |
IAM Säit | Store Index Allocation Map (IAM) Info. |
PFS Säit | Store PFS Allocation Info. |
Wann eng vun den uewe genannten Allokatiounssäiten Feeler huet, oder d'Daten, déi vun dësen Allocatiounssäite geréiert ginn, sinn inkonsequent mat der Allocatiounsinformatioun, dann SQL Server oder CHECKDB wäert Rapport Allocatioun Feeler.
- Konsistenzfehler: fir Säiten déi benotzt gi fir Daten ze späicheren, dorënner d'Datesäiten an Indexsäiten, wann SQL Server oder CHECKDB all Inkonsistenz tëscht dem Säitinhalt an dem Checksum fannen, da mellen se Konsistenzfehler.
- All aner Feeler: Et kënnen aner Feeler sinn, déi net an déi uewe genannte zwou Kategorien falen.
- xxxx.mdf ass keng primär Datebankdatei. (Microsoft SQL Server, Feeler: 5171)
- Den Header fir de Fichier 'xxxx.mdf' ass net e gültege Datebanksdatei Header. D'Eigenschaft FILE SIZE ass falsch. (Microsoft SQL Server, Feeler: 5172)
- SQL Server entdeckt eng logesch Konsequenz-baséiert I / O Feeler: falsch Kontrollsumme
- SQL Server entdeckt eng logesch Konsequenz-baséiert ech / O Feeler: ofgerappt Säit
- Dir läscht e puer records oder e puer Dëscher an der Datebank duerch Feeler.
SQL Server huet eng gebaut-an Outil genannt DBCC, deen huet CHECKDB an CHECKTABEL Optiounen déi hëllefe kënnen eng korrupt MDF Datebank ze reparéieren. Wéi och ëmmer, fir schwéier beschiedegt MDB Datebankdateien, DBCC CHECKDB an CHECKTABEL wäert och versoen.
Konsistenzfehler gemellt vun CHECKDB:
- SQL Server entdeckt eng logesch Konsequenz-baséiert I / O Feeler: falsch Kontrollsumme
- Zeil an sys.xxx huet keng passende Zeil an sys.xxx.
- Tabellfehler: Objekt ID ##, Index ID ## gëtt nei opgebaut.
- Dëse System Dësch Index kann net nei erstallt ginn.
- Objekt ID ##, Index ID ##, Partition ID ##, Alloc Unit ID ## (Typ Onbekannt), Säit ID (##:560) enthält eng falsch Säit ID a senger Säit Header.
Allokatiounsfehler gemellt vun CHECKDB:
- D'Index Allocation Map (IAM) Säit gëtt vum nächste Pointer vun der IAM Säit ugewisen
- Ausmooss (##:##) an der Datebank ID ## ass markéiert als zougewisen am GAM, awer kee SGAM oder IAM huet et zougewisen.
All aner Feeler gemellt vun CHECKDB:
- Ausgefall:(-#######) Ausféierung vun der Ufro "DBCC CHECKDB(xxxx) WITH NO_INFOMSGS" ass gescheitert mam folgende Feeler: "xxxx".
- I / O Feeler (schlecht Säit ID) entdeckt während liesen um Offset 0x###### am Fichier 'xxxx.mdf'.
- System konnt net genuch vun der Datebank aktivéieren fir de Log opzebauen
- Dateverloscht beim Reparatur mat CHECKDB
- De Fichier schéngt vum Betribssystem ofgeschnidden ze sinn.
- Wärend der Neiopféierung vun enger protokolléierter Operatioun an der Datebank 'xxxx' ass e Feeler bei der Logbuch-ID geschitt.