Kada koristite Microsoft SQL Server da biste priložili ili pristupili oštećenoj MDF datoteci baze podataka, možete naići na razne poruke o grešci koje mogu biti zbunjujuće. U nastavku ćemo navesti sve greške, sortirane po učestalosti. Za svaku grešku ćemo opisati njene simptome, objasniti tačan uzrok i dati uzorke datoteka zajedno s datotekama koje je popravio DataNumen SQL Recovery. Ovo će vam pomoći da bolje razumijete ove greške. Napomena 'xxx.MDF' će predstavljati ime vašeg oštećenog SQL Server MDF datoteka baze podataka.
na osnovu SQL Server ili CHECKDB poruke o grešci, postoje tri vrste grešaka:
-
- Greške pri dodjeli: Znamo da su podaci u MDF i NDF datotekama dodijeljeni kao Stranice. Postoje i neke posebne stranice koje se koriste za upravljanje alokacijom, kao što slijedi:
Vrsta stranice | Opis |
GAM stranica | Pohranite informacije o mapi globalne alokacije (GAM). |
SGAM Page | Pohranite informacije o zajedničkoj mapi globalne alokacije (SGAM). |
IAM Page | Informacije o mapi dodjeljivanja indeksa pohrane (IAM). |
PFS Page | Pohranite informacije o dodjeli PFS-a. |
Ako bilo koja od gore navedenih stranica za dodjelu ima greške ili podaci kojima upravljaju ove stranice za dodjelu nisu u skladu s informacijama o dodjeli, tada SQL Server ili će CHECKDB izvestiti greške u alokaciji.
- Greške u konzistentnosti: za Stranice koji se koriste za pohranjivanje podataka, uključujući stranice podataka i indeksne stranice, ako SQL Server ili CHECKDB pronađu bilo kakvu nedosljednost između sadržaja stranice i kontrolne sume, onda će prijaviti greške u konzistentnosti.
- Sve ostale greške: Možda postoje i druge greške koje ne spadaju u gornje dvije kategorije.
- xxxx.mdf nije primarna datoteka baze podataka. (Microsoft SQL Server, Greška: 5171)
- Zaglavlje datoteke 'xxxx.mdf' nije važeće zaglavlje datoteke baze podataka. Svojstvo FILE SIZE je netačno.(Microsoft SQL Server, Greška:5172)
- SQL Server otkrivena je I/O greška zasnovana na logičkoj konzistentnosti: netočna kontrolna suma
- SQL Server detektovao je I/O grešku zasnovanu na logičkoj konzistentnosti: pocepana stranica
- Greškom izbrišete neke zapise ili neke tabele u bazi podataka.
SQL Server ima ugrađeni alat tzv DBCC, koji ima CHECKDB i PROVERIVO opcije koje mogu pomoći da se popravi oštećena MDF baza podataka. Međutim, za ozbiljno oštećene datoteke MDB baze podataka, DBCC CHECKDB i PROVERIVO takođe će propasti.
Greške u konzistentnosti koje je prijavio CHECKDB:
- SQL Server otkrivena je I/O greška zasnovana na logičkoj konzistentnosti: netočna kontrolna suma
- Red u sys.xxx nema odgovarajući red u sys.xxx.
- Greška u tabeli: ID objekta ##, ID indeksa ## će biti ponovo izgrađen.
- Ovaj indeks sistemske tablice se ne može ponovno kreirati.
- ID objekta ##, ID indeksa ##, ID particije ##, ID jedinice alokacije ## (tip Nepoznat), ID stranice (##:560) sadrži netačan ID stranice u zaglavlju stranice.
Greške pri alokaciji koje je prijavio CHECKDB:
- Na stranicu mape dodjeljivanja indeksa (IAM) ukazuje sljedeći pokazivač IAM stranice
- Ekstent (##:##) u bazi podataka ID ## je označen kao dodijeljen u GAM-u, ali ga nijedan SGAM ili IAM nije dodijelio.
Sve ostale greške koje je prijavio CHECKDB:
- Neuspješno:(-#######) Izvršavanje upita “DBCC CHECKDB(xxxx) WITH NO_INFOMSGS” nije uspjelo sa sljedećom greškom: “xxxx”.
- I/O greška (loš ID stranice) otkrivena tokom čitanja na pomaku 0x###### u datoteci 'xxxx.mdf'.
- Sistem nije mogao aktivirati dovoljno baze podataka za ponovnu izgradnju dnevnika
- Gubitak podataka prilikom popravke pomoću CHECKDB
- Čini se da je operativni sistem skraćen fajl.
- Tokom ponavljanja evidentirane operacije u bazi podataka 'xxxx', došlo je do greške kod ID zapisa dnevnika.