By it brûken fan Microsoft SQL Server om in korrupte MDF-databankbestân te heakjen of tagong te krijen, kinne jo in ferskaat oan flaterberjochten tsjinkomme dy't betiizjend kinne wêze. Hjirûnder sille wy alle flaters listje, sorteare op frekwinsje. Foar elke flater sille wy de symptomen beskriuwe, de krekte oarsaak útlizze, en foarbyldbestannen leverje tegearre mei de bestannen fêst troch DataNumen SQL Recovery. Dit sil jo helpe om dizze flaters better te begripen. Opmerking 'xxx.MDF' sil de namme fan jo korrupte fertsjintwurdigje SQL Server MDF databank triem.
Basearre op SQL Server of CHECKDB-flaterberjochten, binne d'r trije soarten flaters:
-
- Tawizing flaters: Wy witte dat de gegevens yn MDF- en NDF-bestannen wurde tawiisd as siden. En d'r binne wat spesjale siden dy't wurde brûkt foar allocaasjebehear, as folget:
Sidetype | Beskriuwing |
GAM Side | Bewarje globale tawizing map (GAM) ynformaasje. |
SGAM Page | Bewarje dielde globale tawizingskaart (SGAM) ynfo. |
IAM side | Store index allocation map (IAM) info. |
PFS side | Bewarje PFS tawizing ynformaasje. |
As ien fan 'e boppesteande allocaasjesiden flaters hat, of de gegevens dy't troch dizze allocaasjesiden beheard wurde ynkonsistent binne mei de allocaasjeynformaasje, dan SQL Server of CHECKDB sil rapportearje tadieling flaters.
- Konsistinsjefouten: Foar siden dy't brûkt wurde om gegevens op te slaan, ynklusyf de gegevenssiden en yndekssiden, as SQL Server of CHECKDB elke ynkonsistinsje fine tusken de side-ynhâld en de kontrôlesum, dan sille se rapportearje konsistinsje flaters.
- Alle oare flaters: D'r kinne oare flaters wêze dy't net yn 'e boppesteande twa kategoryen falle.
- xxxx.mdf is gjin primêre databankbestân. (Microsoft SQL Server, Flater: 5171)
- De koptekst foar bestân 'xxxx.mdf' is gjin jildige koptekst foar databasebestân. De eigenskip FILE SIZE is ferkeard. (Microsoft SQL Server, Flater: 5172)
- SQL Server ûntdutsen in logyske konsistinsje-basearre I / O flater: ferkearde kontrôlesum
- SQL Server ûntdutsen in logyske konsistinsje-basearre I / O flater: torn side
- Jo wiskje guon records of guon tabellen yn database by fersin.
SQL Server hat in ynboude ark neamd DBCC, dy't hat CHECKDB en KONTROLETABEL opsjes dy't kinne helpe om in korrupte MDF-database te reparearjen. Foar swier skansearre MDB-databasebestannen, DBCC CHECKDB en KONTROLETABEL sil ek mislearje.
Konsistinsjefouten rapporteare troch CHECKDB:
- SQL Server ûntdutsen in logyske konsistinsje-basearre I / O flater: ferkearde kontrôlesum
- Rige yn sys.xxx hat gjin oerienkommende rige yn sys.xxx.
- Tabelflater: Objekt ID ##, yndeks ID ## sil opnij boud wurde.
- Dizze systeemtabelyndeks kin net opnij oanmakke wurde.
- Objekt ID ##, index ID ##, partition ID ##, alloc unit ID ## (type Unbekend), side ID (##:560) befettet in ferkearde side-ID yn syn sidekoptekst.
Tawizing flaters rapporteare troch CHECKDB:
- De Index Allocation Map (IAM) Side wurdt oanwiisd troch de folgjende oanwizer fan IAM Side
- Omfang (##:##) yn databank-ID ## wurdt markearre tawiisd yn 'e GAM, mar gjin SGAM of IAM hat it tawiisd.
Alle oare flaters rapporteare troch CHECKDB:
- Mislearre:(-#######) It útfieren fan de query "DBCC CHECKDB(xxxx) WITH NO_INFOMSGS" mislearre mei de folgjende flater: "xxxx".
- I/O flater (min side-ID) ûntdutsen by lêzen by offset 0x###### yn triem 'xxxx.mdf'.
- Systeem koe net genôch fan 'e database aktivearje om it log op te bouwen
- Gegevensferlies by reparaasje mei CHECKDB
- De triem liket ôfbrutsen te wêzen troch it bestjoeringssysteem.
- Tidens it opnij dwaan fan in oanmelde operaasje yn database 'xxxx' is in flater bard by log record ID.