Пры выкарыстанні Microsoft SQL Server каб далучыць або атрымаць доступ да пашкоджанага файла базы дадзеных MDF, вы можаце сутыкнуцца з рознымі паведамленнямі пра памылкі, якія могуць збіць з панталыку. Ніжэй мы пералічым усе памылкі, адсартаваныя па частаце. Для кожнай памылкі мы акрэслім яе сімптомы, растлумачым дакладную прычыну і дамо ўзоры файлаў разам з файламі, выпраўленымі DataNumen SQL Recovery. Гэта дапаможа вам лепш зразумець гэтыя памылкі. Заўвага "xxx.MDF" будзе прадстаўляць імя вашага пашкоджанага SQL Server Файл базы дадзеных мдф.
На аснове SQL Server або паведамлення пра памылку CHECKDB, ёсць тры віды памылак:
-
- Памылкі размеркавання: Мы ведаем, што дадзеныя ў файлах MDF і NDF вылучаюцца як старонак. І ёсць некаторыя спецыяльныя старонкі, якія выкарыстоўваюцца для кіравання размеркаваннем, наступным чынам:
Тып старонкі | Апісанне |
Старонка GAM | Захоўвае інфармацыю аб глабальнай карце размеркавання (GAM). |
Старонка SGAM | Захоўваць агульную інфармацыю пра агульную карту размеркавання (SGAM). |
Старонка IAM | Інфармацыя пра карту размеркавання індэкса крамы (IAM). |
Старонка PFS | Захоўваць інфармацыю аб размеркаванні PFS. |
Калі ў любой з вышэйзгаданых старонак размеркавання ёсць памылкі, альбо дадзеныя, якія кіруюцца гэтымі старонкамі размеркавання, несумяшчальныя з інфармацыяй аб размеркаванні, тады SQL Server альбо CHECKDB паведаміць памылкі размеркавання.
- Памылкі ўзгодненасці: Для старонак якія выкарыстоўваюцца для захоўвання дадзеных, у тым ліку старонак дадзеных і старонак індэкса, калі SQL Server альбо CHECKDB выявіць супярэчнасці паміж зместам старонкі і кантрольнай сумай, тады яны паведамляць памылкі паслядоўнасці.
- Усе астатнія памылкі: Могуць быць і іншыя памылкі, якія не ўваходзяць у дзве вышэйзгаданыя катэгорыі.
- xxxx.mdf не з'яўляецца асноўным файлам базы дадзеных. (Microsoft SQL Server, Памылка: 5171)
- Загаловак файла "xxxx.mdf" не з'яўляецца сапраўдным загалоўкам файла базы дадзеных. Уласцівасць FILE SIZE няправільная. (Microsoft SQL Server, Памылка: 5172)
- SQL Server выяўлена памылка ўводу-вываду на аснове лагічнай паслядоўнасці: няправільная кантрольная сума
- SQL Server выяўлена памылка ўводу-выводу на аснове лагічнай паслядоўнасці: разарваная старонка
- Вы памылкова выдаляеце некаторыя запісы альбо некаторыя табліцы ў базе дадзеных.
SQL Server мае ўбудаваны інструмент пад назвай DBCC, які мае ПРАВЕРКА і ПРАВЕРКА варыянты, якія могуць дапамагчы ў выпраўленні пашкоджанай базы дадзеных МДФ. Аднак для сур'ёзна пашкоджаных файлаў баз дадзеных MDB, DBCC CHECKDB і ПРАВЕРКА таксама не атрымаецца.
Памылкі ўзгодненасці, паведамленыя CHECKDB:
- SQL Server выяўлена памылка ўводу-вываду на аснове лагічнай паслядоўнасці: няправільная кантрольная сума
- Радок у sys.xxx не мае адпаведнага радка ў sys.xxx.
- Памылка табліцы: Ідэнтыфікатар аб'екта ##, індэкс ## будзе адноўлены.
- Немагчыма ўзнавіць гэты індэкс сістэмнай табліцы.
- Ідэнтыфікатар аб'екта ##, ідэнтыфікатар ##, ідэнтыфікатар раздзела ##, ідэнтыфікатар размеркавання блока ## (тып Невядома), ідэнтыфікатар старонкі (##: 560) змяшчае няправільны ідэнтыфікатар старонкі ў загалоўку старонкі.
Памылкі размеркавання, паведамленыя CHECKDB:
- На старонку карты размеркавання індэкса (IAM) паказвае наступны паказальнік старонкі IAM
- Аб'ём (##: ##) у ідэнтыфікатары базы дадзеных ## пазначаны выдзеленым у GAM, але ніякі SGAM альбо IAM не вылучыў яго.
Усе іншыя памылкі, пра якія паведамляе CHECKDB:
- Не атрымалася: (- #######) Выкананне запыту "DBCC CHECKDB (xxxx) WITH NO_INFOMSGS" не атрымалася з наступнай памылкай: "xxxx".
- Памылка ўводу / вываду (дрэнны ідэнтыфікатар старонкі) выяўлена падчас чытання са зрушэннем 0x ###### у файле "xxxx.mdf".
- Сістэма не змагла актываваць дастаткова базы дадзеных, каб аднавіць часопіс
- Страта дадзеных пры рамонце з дапамогай CHECKDB
- Здаецца, файл быў абрэзаны аперацыйнай сістэмай.
- Падчас перапрацоўкі зарэгістраванай аперацыі ў базе дадзеных "xxxx" адбылася памылка ў ідэнтыфікатары запісу часопіса.