As jo Microsoft brûke SQL Server om in korrupte MDF-database bestân oan te heakjen of tagong te krijen, sille jo ferskate flaterberjochten sjen, dy't jo in bytsje ferwiderje kinne. Dêrom sille wy besykje alle mooglike flaters te listjen, sorteare neffens har foarkommende frekwinsje. Foar elke flater sille wy it symptoom beskriuwe, de krekte reden útlizze en foarbyldbestannen jaan, lykas it bestân dat is fêstlein troch ús DataNumen SQL Recovery, sadat jo se better kinne begripe. Hjirûnder sille wy 'xxx.MDF' brûke om jo korrupte út te drukken SQL Server MDF-bestânsnamme fan databank.
Basearre op SQL Server as CHECKDB flaterberjochten, d'r binne trije soarten fouten dy't mislearring feroarsaakje:
-
- Tawizingsfouten: 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-pagina | Bewarje ynfo foar globale allocaasjekaart (GAM). |
SGAM Page | Bewarje dielde wrâldwide allocaasjekaart (SGAM) ynfo. |
IAM Page | Ynfo foar opsjenning fan winkelindeks (IAM). |
PFS-pagina | Bewarje ynfo foar PFS-allocaasje. |
As ien fan 'e boppesteande allocaasjepagina's fouten hat, as de gegevens dy't beheard wurde troch dizze allocationspagina's net konsistint binne mei de allocaasjynformaasje, dan SQL Server of CHECKDB sil rapportearje ferdielingsflaters.
- Konsistinsjefouten: Foar siden dy't wurde brûkt om gegevens op te slaan, ynklusyf de gegevenspagina's en yndeksepagina's, as SQL Server as CHECKDB in inkonsistinsje fine tusken de ynhâld fan 'e pagina en de kontrolesom, dan sille se rapportearje konsistinsje flaters.
- Alle oare flaters: D'r kinne oare flaters wêze dy't net falle yn 'e boppesteande twa kategoryen.
- xxxx.mdf is gjin primêr databasestriem. (Microsoft SQL Server, Flater: 5171)
- De koptekst foar bestân 'xxxx.mdf' is gjin jildige koptekst fan databankbestannen. De eigenskip FILE SIZE is ferkeard. (Microsoft SQL Server, Flater: 5172)
- SQL Server in logyske konsistinsje-basearre I / O-flater ûntdutsen: ferkearde kontrôlesom
- SQL Server in logyske konsistinsje-basearre I / O-flater opspoard: ferskuorde side
- Jo ferwiderje by fersin guon records of guon tabellen yn de database.
SQL Server hat in ynboude tool neamd DBCC, dy't hat CHECKDB en CHECKTABLE opsjes dy't kinne helpe om in korrupte MDF-database te reparearjen. Foar earnstich beskeadige MDB-databasebestannen, DBCC CHECKDB en CHECKTABLE sil ek mislearje.
Konsistinsyfouten rapporteare troch CHECKDB:
- SQL Server in logyske konsistinsje-basearre I / O-flater ûntdutsen: ferkearde kontrôlesom
- Rige yn sys.xxx hat gjin oerienkommende rige yn sys.xxx.
- Tabelflater: Objekt-ID ##, yndeks-ID ## sil wer opboud wurde.
- Dizze systeemtabel-yndeks kin net opnij oanmakke wurde.
- Objekt ID ##, yndeks ID ##, partysje ID ##, allocaasje-ienheid ID ## (type Unbekend), side ID (##: 560) befettet in ferkearde side-ID yn 'e side-koptekst.
Ferkeardfouten rapporteare troch CHECKDB:
- De Index Allocation Map (IAM) pagina wurdt wiisd op troch de folgjende oanwizer fan IAM Page
- Omfang (##: ##) yn database ID ## is markearre tawiisd yn 'e GAM, mar gjin SGAM of IAM hat it tawiisd.
Alle oare flaters rapporteare troch CHECKDB:
- Mislearre: (- #######) It útfieren fan de fraach "DBCC CHECKDB (xxxx) MEI NO_INFOMSGS" mislearre mei de folgjende flater: "xxxx".
- I / O-flater (minne pagina-ID) ûntdutsen by lêzen by kompensaasje 0x ###### yn bestân 'xxxx.mdf'.
- Systeem koe net genôch aktivearje fan 'e databank om it logboek opnij op te bouwen
- Ferlies fan gegevens by reparaasje mei CHECKDB
- Bestân liket skansearre te wêzen troch it bestjoeringssysteem.
- By it opnij dwaan fan in oanmelde operaasje yn database 'xxxx', barde der in flater by log-ID.