Wann Dir Microsoft benotzt SQL Server fir eng korrupt MDF-Datebank Datei unzeschléissen oder zouzegräifen, gesitt Dir verschidde Feelermeldungen, déi Iech e bësse verwiessele kënnen. Dofir, hei wäerte mir probéieren all méiglech Feeler opzezielen, zortéiert no hirer optriederender Frequenz. Fir all Feeler wäerte mir säi Symptom beschreiwen, säi präzise Grond erklären a Probe Dateie ginn an och d'Datei fixéiert vun eiser DataNumen SQL Recovery, sou datt Dir se besser versteet. Hei drënner benotze mir 'xxx.MDF' fir Är Korrupt auszedrécken SQL Server MDF Datebank Dateinumm.
Baséiert op SQL Server oder CHECKDB Feelermeldungen, et ginn dräi Aarte vu Feeler déi Feeler verursaache wäerten:
-
- Allocation Feeler: Mir wëssen datt d'Donnéeën an MDF & NDF Dateien als zougewisen ginn Säiten. An et sinn e puer speziell Säiten déi fir d'Allocatiounsmanagement benotzt ginn, wéi follegt:
Säitentyp | description |
GAM Säit | Store global Bewëllegungskaart (GAM) Info. |
SGAM Säit | Späichert gemeinsam Global allocation map (SGAM) Info. |
IAM Säit | Store Index Bewëllegungskaart (IAM) Info. |
PFS Säit | Store PFS Allocation Info. |
Wann eng vun den uewe genannten Allocatiounssäite Feeler huet, oder d'Donnéeë vun dësen Allocatiounssäiten geréiert sinn net konsequent mat der Allocatiounsinformatioun, da SQL Server oder CHECKDB wäert mellen Bewëllegung Feeler.
- Konsequenz Feeler: fir Säiten déi benotzt gi fir Daten ze späicheren, och d'Datesäiten an d'Intextsäiten, wann SQL Server oder CHECKDB fanne keng Inkonsistenz tëscht dem Säiteninhalt an der Kontrollsumm, da wäerte se sech mellen Konsequenz Feeler.
- All aner Feeler: Et kënnen aner Feeler sinn, déi net an déi zwou Kategorien hei falen.
- xxxx.mdf ass keng primär Datebank Datei. (Microsoft SQL Server, Feeler: 5171)
- Den Header fir Datei 'xxxx.mdf' ass kee valabelen Header vun der Datebank Datei. De FILE SIZE Eegentum ass falsch. (Microsoft SQL Server, Feeler: 5172)
- SQL Server e logesche Konsequenz-baséiert I / O Feeler festgestallt: falsch Kontrollsumm
- SQL Server e logesche Konsequenz-baséiert I / O Feeler festgestallt: Säit gerappt
- Dir läscht e Feeler oder e puer Dëscher an der Datebank.
SQL Server huet en agebaute Tool genannt DBCC, deen huet CHECKDB an CHECKABEL Optiounen déi hëllefe kënnen eng korrupt MDF Datebank ze reparéieren. Wéi och ëmmer, fir schwéier beschiedegt MDB Datebank Dateien, DBCC CHECKDB an CHECKABEL wäert och versoen.
Konsequenz Feeler gemellt vun CHECKDB:
- SQL Server e logesche Konsequenz-baséiert I / O Feeler festgestallt: falsch Kontrollsumm
- Rei am sys.xxx huet keng passend Rei am sys.xxx.
- Dësch Feeler: Objet ID ##, Index ID ## gëtt nei opgebaut.
- Dëse System Dësch Index kann net erstallt ginn.
- Objekt ID ##, Index ID ##, Partition ID ##, allocéieren Eenheet ID ## (Typ Onbekannt), Säit ID (##: 560) enthält eng falsch Säit ID a senger Säit Header.
Allocatiounsfehler gemellt vum CHECKDB:
- D'Index Allocation Map (IAM) Säit gëtt op den nächsten Zeiger vun der IAM Säit gewisen
- Ausmooss (##: ##) an der Datebank ID ## ass am GAM zougewisen, awer keng SGAM oder IAM huet et zougewisen.
All aner Feeler gemellt vum CHECKDB:
- Ausgefall: (- #######) Ausféieren vun der Ufro "DBCC CHECKDB (xxxx) MAT NO_INFOMSGS" ass mam folgende Feeler ausgefall: "xxxx".
- I / O Feeler (schlecht Säit ID) festgestallt beim Liesen beim Offset 0x ###### an der Datei 'xxxx.mdf'.
- System konnt net genuch aktivéieren vun der Datebank fir de Log nei opzebauen
- Datenverloscht beim Reparéiere Mat CHECKDB
- Datei schéngt vum Betribssystem ofgeschnidden ze sinn.
- Wärend enger nei protokolléierter Operatioun an der Datebank 'xxxx' nei gemaach gouf, koum e Feeler bei der Logbuch-ID.