Kada koristite Microsoft SQL Server da biste priložili ili pristupili oštećenoj MDF datoteci baze podataka, možete naići na različite poruke o pogrešci koje mogu biti zbunjujuće. U nastavku ćemo navesti sve pogreške, poredane po učestalosti. Za svaku pogrešku navest ćemo njezine simptome, objasniti točan uzrok i pružiti uzorke datoteka zajedno s datotekama koje je popravio DataNumen SQL Recovery. To će vam pomoći da bolje razumijete te pogreške. Napomena 'xxx.MDF' predstavljat će naziv vašeg oštećenog SQL Server MDF datoteka baze podataka.
na temelju SQL Server ili CHECKDB poruke o pogrešci, postoje tri vrste pogrešaka:
-
- Pogreške dodjele: Znamo da su podaci u MDF i NDF datotekama dodijeljeni kao stranice. Postoje i neke posebne stranice koje se koriste za upravljanje dodjelom, kako slijedi:
Vrsta stranice | Opis |
GAM stranica | Pohranite informacije o karti globalne dodjele (GAM). |
SGAM stranica | Pohranjujte informacije o zajedničkoj mapi globalne dodjele (SGAM). |
IAM stranica | Podaci o karti dodjele indeksa (IAM) pohrane. |
PFS stranica | Pohranite podatke o dodjeli PFS-a. |
Ako bilo koja od gornjih stranica dodjele ima pogreške ili podaci kojima upravljaju ove stranice dodjele nisu u skladu s informacijama o dodjeli, tada SQL Server ili CHECKDB će prijaviti greške dodjele.
- Pogreške dosljednosti: Za stranice koji se koriste za pohranu podataka, uključujući podatkovne stranice i indeksne stranice, ako SQL Server ili CHECKDB pronađu nedosljednost između sadržaja stranice i kontrolnog zbroja, a zatim će prijaviti greške konzistencije.
- Sve ostale greške: Mogu postojati i druge pogreške koje ne spadaju u gornje dvije kategorije.
- xxxx.mdf nije primarna datoteka baze podataka. (Microsoft SQL Server, pogreška: 5171)
- Zaglavlje datoteke 'xxxx.mdf' nije važeće zaglavlje datoteke baze podataka. Svojstvo FILE SIZE je netočno.(Microsoft SQL Server, pogreška: 5172)
- SQL Server otkrio I/O pogrešku temeljenu na logičkoj dosljednosti: netočan kontrolni zbroj
- SQL Server otkrio je I/O pogrešku temeljenu na logičkoj konzistentnosti: poderana stranica
- Greškom ste izbrisali neke zapise ili neke tablice u bazi podataka.
SQL Server ima ugrađen alat tzv DBCC, koji ima CHECKDB i TABLICA ZA PROVJERU opcije koje mogu pomoći u popravku oštećene MDF baze podataka. Međutim, za ozbiljno oštećene MDB datoteke baze podataka, DBCC CHECKDB i TABLICA ZA PROVJERU također neće uspjeti.
Pogreške dosljednosti prijavio je CHECKDB:
- SQL Server otkrio I/O pogrešku temeljenu na logičkoj dosljednosti: netočan kontrolni zbroj
- Redak u sys.xxx nema odgovarajući redak u sys.xxx.
- Pogreška tablice: ID objekta ##, ID indeksa ## bit će ponovno izgrađen.
- Ovaj indeks tablice sustava ne može se ponovno stvoriti.
- ID objekta ##, ID indeksa ##, ID particije ##, ID jedinice za dodjelu ## (nepoznat tip), ID stranice (##:560) sadrži neispravan ID stranice u zaglavlju stranice.
Pogreške dodjele prijavio je CHECKDB:
- Na stranicu Index Allocation Map (IAM) pokazuje sljedeći pokazivač IAM stranice
- Opseg (##:##) u bazi podataka ID ## je označen kao dodijeljen u GAM-u, ali nijedan SGAM ili IAM ga nije dodijelio.
Sve ostale pogreške koje je prijavio CHECKDB:
- Neuspješno:(-#######) Izvršenje upita “DBCC CHECKDB(xxxx) WITH NO_INFOMSGS” nije uspjelo uz sljedeću pogrešku: “xxxx”.
- I/O pogreška (loš ID stranice) otkrivena tijekom čitanja na pomaku 0x###### u datoteci 'xxxx.mdf'.
- Sustav nije mogao aktivirati dovoljno baze podataka za ponovnu izgradnju dnevnika
- Gubitak podataka prilikom popravka s CHECKDB
- Čini se da je operativni sustav skratio datoteku.
- Tijekom ponavljanja zabilježene operacije u bazi podataka 'xxxx', pojavila se pogreška na ID-u zapisa dnevnika.