Microsoft használatakor SQL Server sérült MDF-adatbázisfájl csatolásához vagy eléréséhez számos hibaüzenet jelenhet meg, amelyek zavaróak lehetnek. Az alábbiakban felsoroljuk az összes hibát, gyakoriság szerint rendezve. Minden egyes hiba esetében felvázoljuk a tüneteit, elmagyarázzuk a pontos okot, és mintafájlokat biztosítunk a javított fájlokkal együtt DataNumen SQL Recovery. Ez segít jobban megérteni ezeket a hibákat. Megjegyzés: Az 'xxx.MDF' a sérült nevét fogja jelölni SQL Server MDF adatbázis fájl.
Alapján SQL Server vagy CHECKDB hibaüzeneteket, háromféle hiba létezik:
-
- Elosztási hibák: Tudjuk, hogy az MDF és NDF fájlok adatai a következőképpen vannak kiosztva oldalak. És van néhány speciális oldal, amelyeket az allokáció kezeléséhez használnak, az alábbiak szerint:
Oldal típusa | Leírás |
GAM oldal | Globális kiosztási térkép (GAM) információ tárolása. |
SGAM oldal | Megosztott globális kiosztási térkép (SGAM) információ tárolása. |
IAM oldal | Tárolja az indexkiosztási térképet (IAM). |
PFS oldal | Tárolja a PFS-kiosztási információkat. |
Ha a fenti kiosztási oldalak bármelyike hibás, vagy az ezen kiosztási oldalak által kezelt adatok nem egyeztethetők össze az elosztási információkkal, akkor SQL Server vagy a CHECKDB jelenti kiosztási hibák.
- Konzisztencia hibák: A oldalak amelyek az adatok tárolására szolgálnak, beleértve az adatoldalakat és indexoldalakat, ha SQL Server vagy a CHECKDB bármilyen ellentmondást talál az oldal tartalma és az ellenőrző összeg között, akkor jelentést tesz konzisztencia hibák.
- Minden egyéb hiba: Előfordulhatnak más hibák is, amelyek nem tartoznak a fenti két kategóriába.
- Az xxxx.mdf nem elsődleges adatbázisfájl. (Microsoft SQL Server, Hiba: 5171)
- Az „xxxx.mdf” fájl fejléce nem érvényes adatbázisfájl fejléc. A FILE SIZE tulajdonság hibás. (Microsoft SQL Server, Hiba:5172)
- SQL Server logikai konzisztencián alapuló I/O hibát észlelt: hibás ellenőrzőösszeg
- SQL Server logikai konzisztencián alapuló I/O hibát észlelt: szakadt oldal
- Véletlenül töröl néhány rekordot vagy táblát az adatbázisból.
SQL Server nevű beépített eszközzel rendelkezik DBCC, amely CHECKDB és a ELLENŐRZHETŐ lehetőségek, amelyek segíthetnek a sérült MDF-adatbázis kijavításában. Súlyosan sérült MDB adatbázisfájlok esetén azonban DBCC CHECKDB és a ELLENŐRZHETŐ is megbukik.
A CHECKDB által jelentett következetességi hibák:
- SQL Server logikai konzisztencián alapuló I/O hibát észlelt: hibás ellenőrzőösszeg
- A sys.xxx sorában nincs egyező sor a sys.xxx fájlban.
- Táblázathiba: ## objektumazonosító, ## indexazonosító újraépül.
- Ezt a rendszertábla-indexet nem lehet újra létrehozni.
- Objektumazonosító ##, indexazonosító ##, partícióazonosító ##, lefoglaló egységazonosító ## (ismeretlen típus), oldalazonosító (##:560) helytelen oldalazonosítót tartalmaz az oldal fejlécében.
A CHECKDB által jelentett elosztási hibák:
- Az indexkiosztási térkép (IAM) oldalra az IAM-oldal következő mutatója mutat
- A terjedelem (##:##) a ## adatbázis-azonosítóban allokáltnak van jelölve a GAM-ban, de SGAM vagy IAM nem foglalta le.
A CHECKDB által jelentett összes többi hiba:
- Sikertelen:(-#######) A „DBCC CHECKDB(xxxx) WITH NO_INFOMSGS” lekérdezés végrehajtása meghiúsult a következő hibával: „xxxx”.
- I/O hiba (rossz oldalazonosító) észlelve az olvasás során a 0x###### eltolásnál az 'xxxx.mdf' fájlban.
- A rendszer nem tudott eleget aktiválni az adatbázist a napló újraépítéséhez
- Adatvesztés CHECKDB-vel történő javításkor
- Úgy tűnik, hogy a fájlt az operációs rendszer csonkolta.
- Az 'xxxx' adatbázis naplózott műveletének újraindítása során hiba történt a naplóbejegyzés azonosítójában.