Microsofti kasutamisel SQL Server rikutud MDF-andmebaasifaili manustamiseks või juurdepääsuks, võite näha mitmesuguseid veateateid, mis võivad segadust tekitada. Allpool loetleme kõik vead, sorteerituna sageduse järgi. Iga vea puhul kirjeldame selle sümptomeid, selgitame täpset põhjust ja esitame näidisfailid koos parandatud failidega DataNumen SQL Recovery. See aitab teil neid vigu paremini mõista. Märkus. 'xxx.MDF' tähistab teie rikutud nime SQL Server MDF andmebaasi fail.
Põhineb SQL Server või CHECKDB veateateid, on kolme tüüpi vigu:
-
- Jaotamise vead: Teame, et MDF- ja NDF-failides olevad andmed on eraldatud järgmiselt lehekülge. Jaotuse haldamiseks kasutatakse järgmisi spetsiaalseid lehti:
Lehekülje tüüp | Kirjeldus |
GAM-i leht | Salvestage globaalse jaotuskaardi (GAM) teave. |
SGAM-i leht | Salvestage jagatud globaalse jaotuskaardi (SGAM) teave. |
IAM leht | Salvestage indeksi jaotuskaardi (IAM) teave. |
PFS leht | Salvestage PFS-i eraldamise teave. |
Kui mõnel ülaltoodud jaotuslehtedel on vigu või nende jaotuslehtede hallatavad andmed ei ole jaotusandmetega kooskõlas, SQL Server või CHECKDB annab aru jaotusvead.
- Järjepidevuse vead: eest lehekülge mida kasutatakse andmete, sealhulgas andmelehtede ja registrilehtede salvestamiseks, kui SQL Server või CHECKDB avastavad lehe sisu ja kontrollsumma vahelise vastuolu, siis annavad nad sellest aru järjepidevuse vead.
- Kõik muud vead: Võib esineda muid vigu, mis ei kuulu ülaltoodud kahte kategooriasse.
- xxxx.mdf ei ole esmane andmebaasifail. (Microsoft SQL Server, Viga: 5171)
- Faili 'xxxx.mdf' päis ei ole kehtiv andmebaasifaili päis. Atribuut FILE SIZE on vale. (Microsoft SQL Server, Viga:5172)
- SQL Server tuvastas loogilise järjepidevuse põhise I/O vea: vale kontrollsumma
- SQL Server tuvastas loogilise järjepidevuse põhise I/O vea: rebenenud leht
- Kustutate kogemata mõned kirjed või mõned tabelid andmebaasist.
SQL Server on sisseehitatud tööriist nimega DBCC, millel on CHECKDB ja KONTROLLITAV valikud, mis aitavad parandada rikutud MDF-andmebaasi. Tõsiselt kahjustatud MDB andmebaasifailide puhul DBCC CHECKDB ja KONTROLLITAV ka ebaõnnestub.
CHECKDB teatatud järjepidevusvead:
- SQL Server tuvastas loogilise järjepidevuse põhise I/O vea: vale kontrollsumma
- Sys.xxx real ei ole failis sys.xxx sobivat rida.
- Tabeliviga: objekti ID ##, indeksi ID ## ehitatakse ümber.
- Seda süsteemitabeli indeksit ei saa uuesti luua.
- Objekti ID ##, indeksi ID ##, partitsiooni ID ##, eraldamisüksuse ID ## (tüüp tundmatu), lehe ID (##:560) sisaldab oma lehe päises vale lehe ID-d.
CHECKDB teatatud jaotusvead:
- Indeksi eraldamise kaardi (IAM) lehele osutab IAM-lehe järgmine kursor
- Andmebaasi ID ## ulatus (##:##) on märgitud GAM-is eraldatuks, kuid ükski SGAM ega IAM pole seda eraldanud.
Kõik muud CHECKDB teatatud vead:
- Ebaõnnestunud:(-#######) Päringu "DBCC CHECKDB(xxxx) WITH NO_INFOMSGS" täitmine nurjus järgmise veaga: "xxxx".
- Sisend-/väljundviga (halb lehe ID) tuvastati lugemisel nihkega 0x###### failis 'xxxx.mdf'.
- Süsteem ei saanud logi uuesti ülesehitamiseks piisavalt andmebaasi aktiveerida
- Andmekadu CHECKDB-ga parandamisel
- Näib, et operatsioonisüsteem on faili kärbinud.
- Andmebaasis 'xxxx' logitud toimingu uuesti tegemise ajal ilmnes logikirje ID-s viga.