Симптом:

Когато използвате DBCC CHECKDB с параметър REPAIR_ALLOW_DATA_LOSS за ремонт на повреденa .MDF база данни, като този:

DBCC CHECKDB(xxxx, ‘REPAIR_ALLOW_DATA_LOSS’)

виждате следното съобщение за грешка:

Ремонт: Кластерният индекс е успешно пресъздаден за обекта „sysobjvalues“ в базата данни „Error1“.
Ремонт: Некластерният индекс успешно пресъздаден за обекта „syscolpars“ в базата данни „Error1“.
DBCC резултати за ‘Error1’.
DBCC резултати за ‘sys.sysrscols’.
Има 1092 реда в 14 страници за обекта “sys.sysrscols”.
DBCC резултати за ‘sys.sysrowsets’.
Има 148 реда в 3 страници за обекта “sys.sysrowsets”.
DBCC резултати за ‘sys.sysclones’.
Има 0 реда в 0 страници за обекта “sys.sysclones”.
DBCC резултати за ‘sys.sysallocunits’.
Има 172 реда в 2 страници за обекта “sys.sysallocunits”.
DBCC резултати за ‘sys.sysfiles1’.
Има 2 реда в 1 страница за обекта “sys.sysfiles1”.
DBCC резултати за ‘sys.sysseobjvalues’.
Има 0 реда в 0 страници за обекта “sys.sysseobjvalues”.
DBCC резултати за ‘sys.syspriorities’.
Има 0 реда в 0 страници за обекта “sys.syspriorities”.
DBCC резултати за ‘sys.sysdbfrag’.
Има 0 реда в 0 страници за обекта “sys.sysdbfrag”.
DBCC резултати за ‘sys.sysfgfrag’.
Има 0 реда в 0 страници за обекта “sys.sysfgfrag”.
DBCC резултати за ‘sys.sysdbfiles’.
Има 2 реда в 1 страница за обекта “sys.sysdbfiles”.
DBCC резултати за ‘sys.syspru’.
Има 0 реда в 0 страници за обекта “sys.syspru”.
DBCC резултати за ‘sys.sysbrickfiles’.
Има 0 реда в 0 страници за обекта “sys.sysbrickfiles”.
DBCC резултати за ‘sys.sysphfg’.
Има 1 ред в 1 страница за обекта “sys.sysphfg”.
DBCC резултати за ‘sys.sysprufiles’.
Има 2 реда в 1 страница за обекта “sys.sysprufiles”.
DBCC резултати за ‘sys.sysftinds’.
Има 0 реда в 0 страници за обекта “sys.sysftinds”.
DBCC резултати за ‘sys.sysowners’.
Има 14 реда в 1 страница за обекта “sys.sysowners”.
DBCC резултати за ‘sys.sysdbreg’.
Има 0 реда в 0 страници за обекта “sys.sysdbreg”.
DBCC резултати за ‘sys.sysprivs’.
Има 140 реда в 1 страница за обекта “sys.sysprivs”.
DBCC резултати за ‘sys.syscolpars’.
Ремонт: Страницата (1:63) бе деалоцирана от обект ID 41, индекс ID 1, partition ID 281474979397632, alloc unit ID 281474979397632 (type In-row data).
Ремонт: Некластерният индекс успешно пресъздаден за обекта “sys.syscolpars, nc” в базата данни “Error1”.
Съобщение 8945, ниво 16, състояние 1, линия 8
Грешка в таблицата: Обект ID 41, индекс ID 1 ще бъде пресъздаден.
Тази грешка не може да бъде поправена.
Съобщение 8978, ниво 16, състояние 1, линия 8
Грешка в таблицата: Обект ID 41, индекс ID 1, partition ID 281474979397632, alloc unit ID 281474979397632 (type In-row data). Страница (1:61) липсва справка от предишна страница (1:63). Възможен проблем със свързването на веригата.
Грешката е поправена.
Съобщение 8928, ниво 16, състояние 1, линия 8
Обект ID 41, индекс ID 1, partition ID 281474979397632, alloc unit ID 281474979397632 (type In-row data): Страница (1:63) не може да бъде обработена. Вижте други грешки за подробности.
Грешката е поправена.
Съобщение 8939, ниво 16, състояние 98, линия 8
Грешка в таблицата: Обект ID 41, индекс ID 1, partition ID 281474979397632, alloc unit ID 281474979397632 (type In-row data), страница (1:63). Тестът (IS_OFF (BUF_IOERR, pBUF->bstat)) не е успешен. Стойностите са 2057 и -4.
Грешката е поправена.
Съобщение 8976, ниво 16, състояние 1, линия 8
Грешка в таблицата: Обект ID 41, индекс ID 1, partition ID 281474979397632, alloc unit ID 281474979397632 (type In-row data). Страница (1:63) не беше видяна в сканирането, макар че нейната родителска (1:111) и предишна (1:168) я цитират. Проверете всички предишни грешки.
Грешката е поправена.
Съобщение 8945, ниво 16, състояние 1, линия 8
Грешка в таблицата: Обект ID 41, индекс ID 2 ще бъде пресъздаден.
Грешката е поправена.
Има 881 реда в 15 страници за обекта “sys.syscolpars”.
CHECKDB намери 0 грешки в разпределението и 4 непоследователности в таблицата ‘sys.syscolpars’ (обект ID 41).
CHECKDB поправи 0 грешки в разпределението и 4 непоследователности в таблицата ‘sys.syscolpars’ (обект ID 41).
DBCC резултати за ‘sys.sysxlgns’.
Има 0 реда в 0 страници за обекта “sys.sysxlgns”.
DBCC резултати за ‘sys.sysxsrvs’.
Има 0 реда в 0 страници за обекта “sys.sysxsrvs”.
DBCC резултати за ‘sys.sysnsobjs’.
Има 1 ред в 1 страница за обекта “sys.sysnsobjs”.
DBCC резултати за ‘sys.sysusermsgs’.
Има 0 реда в 0 страници за обекта “sys.sysusermsgs”.
DBCC резултати за ‘sys.syscerts’.
Има 0 реда в 0 страници за обекта “sys.syscerts”.
DBCC резултати за ‘sys.sysrmtlgns’.
Има 0 реда в 0 страници за обекта “sys.sysrmtlgns”.
DBCC резултати за ‘sys.syslnklgns’.
Има 0 реда в 0 страници за обекта “sys.syslnklgns”.
DBCC резултати за ‘sys.sysxprops’.
Има 0 реда в 0 страници за обекта “sys.sysxprops”.
DBCC резултати за ‘sys.sysscalartypes’.
Има 34 реда в 1 страница за обекта “sys.sysscalartypes”.
DBCC резултати за ‘sys.systypedsubobjs’.
Има 0 реда в 0 страници за обекта “sys.systypedsubobjs”.
DBCC резултати за ‘sys.sysidxstats’.
Има 207 реда в 5 страници за обекта “sys.sysidxstats”.
DBCC резултати за ‘sys.sysiscols’.
Има 399 реда в 2 страници за обект “sys.sysiscols”.
DBCC резултати за ‘sys.sysendpts’.
Има 0 реда в 0 страници за обекта “sys.sysendpts”.
DBCC резултати за ‘sys.syswebmethods’.
Има 0 реда в 0 страници за обекта “sys.syswebmethods”.
DBCC резултати за ‘sys.sysbinobjs’.
Има 23 реда в 1 страница за обекта “sys.sysbinobjs”.
DBCC резултати за ‘sys.sysaudacts’.
Има 0 реда в 0 страници за обекта „sys.sysaudacts“.
DBCC резултати за „sys.sysobjvalues“.
Ремонт: Успешно възстановен Сгъстен индекс за обект “sys.sysobjvalues” в база данни “Error1”.
Ремонт: Страницата (1:24) е освободена от обект ID 60, индекс ID 1, партитура ID 281474980642816, крайна точка (alloc unit ID) 281474980642816 (тип In-row data).
Ремонт: Изтрита е колона с допълнителни данни с ID 742981632, за обект ID 60, индекс ID 1, партитура ID 281474980642816, крайна точка 71776119065149440 (тип LOB data) на страница (1:369), място 0.
Ремонт: Изтрита е колона с допълнителни данни с ID 742981632, за обект ID 60, индекс ID 1, партитура ID 281474980642816, крайна точка 71776119065149440 (тип LOB data) на страница (1:370), място 0.
Ремонт: Изтрита е колона с допълнителни данни с ID 742981632, за обект ID 60, индекс ID 1, партитура ID 281474980642816, крайна точка 71776119065149440 (тип LOB data) на страница (1:371), място 0.
Съобщение 8945, Ниво 16, Състояние 1, Ред 8
Грешка в таблицата: Обект ID 60, индекс ID 1 ще бъде възстановен.
Грешката е отстранена.
Съобщение 8928, Ниво 16, Състояние 1, Ред 8
Обект ID 60, индекс ID 1, партитура ID 281474980642816, крайна точка 281474980642816 (тип In-row data): Страница (1:24) не може да бъде обработена. Вижте други грешки за подробности.
Грешката е отстранена.
Съобщение 8939, Ниво 16, Състояние 98, Ред 8
Грешка в таблицата: Обект ID 60, индекс ID 1, партитура ID 281474980642816, крайна точка 281474980642816 (тип In-row data), страница (1:24). Тест (IS_OFF (BUF_IOERR, pBUF->bstat)) е неуспешен. Стойностите са 2057 и -4.
Грешката е отстранена.
Съобщение 8939, Ниво 16, Състояние 98, Ред 8
Грешка в таблицата: Обект ID 60, индекс ID 1, партитура ID 281474980642816, крайна точка 281474980642816 (тип In-row data), страница (1:24). Тест (IS_OFF (BUF_IOERR, pBUF->bstat)) е неуспешен. Стойностите са 2057 и -4.
Грешката е отстранена.
Съобщение 8976, Ниво 16, Състояние 1, Ред 8
Грешка в таблицата: Обект ID 60, индекс ID 1, партитура ID 281474980642816, крайна точка 281474980642816 (тип In-row data). Страница (1:24) не бе видяна в сканирането, въпреки че родителят (1:43) и предишната (1:213) се отнасят до нея. Проверете за предишни грешки.
Грешката е отстранена.
Съобщение 8978, Ниво 16, Състояние 1, Ред 8
Грешка в таблицата: Обект ID 60, индекс ID 1, партитура ID 281474980642816, крайна точка 281474980642816 (тип In-row data). На страница (1:210) липсва референция от предишна страница (1:24). Възможен проблем с вериговия линк.
Грешката е отстранена.
Съобщение 8964, Ниво 16, Състояние 1, Ред 8
Грешка в таблицата: Обект ID 60, индекс ID 1, партитура ID 281474980642816, крайна точка 71776119065149440 (тип LOB data). Крайната точка на данни извън реда на страница (1:369), място 0, текст ID 742981632 не е реферирано.
Грешката е отстранена.
Съобщение 8964, Ниво 16, Състояние 1, Ред 8
Грешка в таблицата: Обект ID 60, индекс ID 1, партитура ID 281474980642816, крайна точка 71776119065149440 (тип LOB data). Крайната точка на данни извън реда на страница (1:370), място 0, текст ID 742981632 не е реферирано.
Грешката е отстранена.
Съобщение 8964, Ниво 16, Състояние 1, Ред 8
Грешка в таблицата: Обект ID 60, индекс ID 1, партитура ID 281474980642816, крайна точка 71776119065149440 (тип LOB data). Крайната точка на данни извън реда на страница (1:371), място 0, текст ID 742981632 не е реферирано.
Грешката е отстранена.
Има 203 реда в 20 страници за обекта „sys.sysobjvalues“.
CHECKDB намери 0 грешки с алокацията и 8 грешки с консистентността в таблица „sys.sysobjvalues“ (обект ID 60).
CHECKDB фиксира 0 грешки с алокацията и 8 грешки с консистентността в таблица „sys.sysobjvalues“ (обект ID 60).
DBCC резултати за „sys.syscscolsegments“.
Има 0 реда в 0 страници за обекта „sys.syscscolsegments“.
DBCC резултати за „sys.syscsdictionaries“.
Има 0 реда в 0 страници за обекта „sys.syscsdictionaries“.
DBCC резултати за „sys.sysclsobjs“.
Има 16 реда в 1 страници за обекта „sys.sysclsobjs“.
DBCC резултати за „sys.sysrowsetrefs“.
Има 0 реда в 0 страници за обекта „sys.sysrowsetrefs“.
DBCC резултати за „sys.sysremsvcbinds“.
Има 0 реда в 0 страници за обекта „sys.sysremsvcbinds“.
DBCC резултати за „sys.sysxmitqueue“.
Има 0 реда в 0 страници за обекта „sys.sysxmitqueue“.
DBCC резултати за „sys.sysrts“.
Има 1 ред в 1 страници за обекта „sys.sysrts“.
DBCC резултати за „sys.sysconvgroup“.
Има 0 редове в 0 страници за обекта „sys.sysconvgroup“.
DBCC резултати за „sys.sysdesend“.
Има 0 редове в 0 страници за обекта „sys.sysdesend“.
DBCC резултати за „sys.sysdercv“.
Има 0 реда в 0 страници за обекта „sys.sysdercv“.
DBCC резултати за „sys.syssingleobjrefs“.
Има 171 реда в 1 страници за обекта „sys.syssingleobjrefs“.
DBCC резултати за „sys.sysmultiobjrefs“.
Има 107 реда в 1 страници за обекта „sys.sysmultiobjrefs“.
DBCC резултати за „sys.sysguidrefs“.
Има 0 редове в 0 страници за обекта „sys.sysguidrefs“.
DBCC резултати за „sys.sysfoqueues“.
Има 0 реда в 0 страници за обекта „sys.sysfoqueues“.
DBCC резултати за „sys.syschildinsts“.
Има 0 реда в 0 страници за обекта „sys.syschildinsts“.
DBCC резултати за „sys.syscompfragments“.
Има 0 реда в 0 страници за обекта „sys.syscompfragments“.
DBCC резултати за „sys.sysftsemanticsdb“.
Има 0 реда в 0 страници за обекта „sys.sysftsemanticsdb“.
DBCC резултати за „sys.sysftstops“.
Има 0 реда в 0 страници за обекта „sys.sysftstops“.
DBCC резултати за „sys.sysftproperties“.
Има 0 реда в 0 страници за обекта „sys.sysftproperties“.
DBCC резултати за „sys.sysxmitbody“.
Има 0 реда в 0 страници за обекта „sys.sysxmitbody“.
DBCC резултати за „sys.sysfos“.
Има 0 реда в 0 страници за обекта „sys.sysfos“.
DBCC резултати за „sys.sysqnames“.
Има 98 реда в 1 страници за обекта „sys.sysqnames“.
DBCC резултати за „sys.sysxmlcomponent“.
Има 100 реда в 1 страници за обекта „sys.sysxmlcomponent“.
DBCC резултати за „sys.sysxmlfacet“.
Има 112 реда в 1 страници за обекта „sys.sysxmlfacet“.
DBCC резултати за „sys.sysxmlplacement“.
Има 19 реда в 1 страници за обекта „sys.sysxmlplacement“.
DBCC резултати за „sys.sysobjkeycrypts“.
Има 0 реда в 0 страници за обекта „sys.sysobjkeycrypts“.
DBCC резултати за „sys.sysasymkeys“.
Има 0 реда в 0 страници за обекта „sys.sysasymkeys“.
DBCC резултати за „sys.syssqlguides“.
Има 0 реда в 0 страници за обекта „sys.syssqlguides“.
DBCC резултати за „sys.sysbinsubobjs“.
Има 3 реда в 1 страници за обекта „sys.sysbinsubobjs“.
DBCC резултати за „sys.syssoftobjrefs“.
Има 0 реда в 0 страници за обекта „sys.syssoftobjrefs“.
DBCC резултати за „sys.plan_persist_plan“.
Има 0 реда в 0 страници за обект “sys.plan_persist_plan”.
Резултати от DBCC за ‘sys.plan_persist_runtime_stats’.
Има 0 реда в 0 страници за обект “sys.plan_persist_runtime_stats”.
Резултати от DBCC за ‘sys.plan_persist_runtime_stats_interval’.
Има 0 реда в 0 страници за обект “sys.plan_persist_runtime_stats_interval”.
Резултати от DBCC за ‘sys.plan_persist_context_settings’.
Има 0 реда в 0 страници за обект “sys.plan_persist_context_settings”.
Резултати от DBCC за ‘sys.sqlagent_jobs’.
Има 0 реда в 0 страници за обект “sys.sqlagent_jobs”.
Резултати от DBCC за ‘sys.sqlagent_jobsteps’.
Има 0 реда в 0 страници за обект “sys.sqlagent_jobsteps”.
Резултати от DBCC за ‘sys.sqlagent_job_history’.
Има 0 реда в 0 страници за обект “sys.sqlagent_job_history”.
Резултати от DBCC за ‘sys.queue_messages_2009058193’.
Има 0 реда в 0 страници за обект “sys.queue_messages_2009058193”.
Резултати от DBCC за ‘sys.queue_messages_2041058307’.
Има 0 реда в 0 страници за обект “sys.queue_messages_2041058307”.
Резултати от DBCC за ‘sys.filestream_tombstone_2073058421’.
Има 0 реда в 0 страници за обект “sys.filestream_tombstone_2073058421”.
Резултати от DBCC за ‘sys.syscommittab’.
Има 0 реда в 0 страници за обект “sys.syscommittab”.
Резултати от DBCC за ‘sys.filetable_updates_2105058535’.
Има 0 реда в 0 страници за обект “sys.filetable_updates_2105058535”.
Резултати от DBCC за ‘sys.plan_persist_query_text’.
Има 0 реда в 0 страници за обект “sys.plan_persist_query_text”.
Резултати от DBCC за ‘sys.plan_persist_query’.
Има 0 реда в 0 страници за обект “sys.plan_persist_query”.
CHECKDB откри 0 грешки в заделените места и 12 последователни грешки в база данни ‘Error1’.
CHECKDB коригира 0 грешки в заделените места и 12 последователни грешки в база данни ‘Error1’.
Съобщение 824, Ниво 24, Състояние 2, Ред 8
SQL Server откри логическа грешка при I/O на базата, свързана с последователността: неверна контролна сума (очаквана: 0xb7bd14b3; действителна: 0xb7df14b2). Тя се появи по време на четене на страница (1:24) в база данни с ID 39 на отместване 0x00000000030000 във файл ‘C:Program FilesMicrosoft SQL ServerMSSQL12.SQL2014MSSQLDATAError1.mdf’. Допълнителни съобщения в дневника за грешки на SQL Server или системния събитиен дневник могат да предоставят повече информация. Това е сериозно условие за грешка, което застрашава цялостта на базата данни и трябва да бъде коригирано незабавно. Изпълнете пълна проверка за цялост на базата данни (DBCC CHECKDB). Тази грешка може да бъде причинена от множество фактори; за повече информация, вижте SQL Server Books Online.

където 'Грешка1' е името на повредената MDF база данни, която се ремонтира.

Msg 8945 указва грешка в таблицата, която е грешка в съответствието.

Екранна снимка на съобщението за грешка:

Екранна снимка на съобщение за грешка „Грешка в таблицата: ИД на обект ##, индекс ИД ## ще бъде възстановен.“

Точно обяснение:

В база данни SQL Server MDF има много системни таблици, използвани за съхранение на структурата и метаданните на базата данни.

Когато CHECKDB открие, че има несъответствия в една от системните таблиците, той ще съобщи за грешка Msg 8945, 8978, 8928, 8939 и др. и ще се опита да коригира грешките. Ако не може да коригира грешката, тогава възстановяването се проваля и води до повече грешки, като например Msg 824.

Можете да използвате нашия продукт DataNumen SQL Recovery, за да възстановите данните от повредения MDF файл и да решите тази грешка.

Файлове с образци:

Примерни повредени MDF файлове, които ще причинят грешка Msg 8945:

Версия на SQL Server Повреден MDF файл MDF файл, фиксиран от DataNumen SQL Recovery
SQL Server 2014 Грешка5.mdf Грешка5_fixed.mdf