Симптом:

Когато прикрепяте .MDF база данни в SQL Server, виждате следното съобщение за грешка:

SQL Server откри логическа грешка при консистентността на I/O: неправилна контролна сума (очаквана: 0x2abc3894; актуална: 0x2ebe208e). Тя се получи при четене на страница (1:1) в база данни с ID 12 на отместване 0x00000000002000 във файл ‘xxx.mdf’. Допълнителни съобщения в журнала на грешките на SQL Server или системния събитиен журнал могат да предоставят повече подробности. Това е тежко условие за грешка, което застрашава целостта на базата данни и трябва да бъде коригирано незабавно. Извършете пълна проверка на консистентността на базата данни (DBCC CHECKDB). Тази грешка може да бъде причинена от много фактори; за повече информация, вижте SQL Server Books Online.(Microsoft SQL Server, Грешка:824)

където 'xxx.mdf' е името на достъпния MDF файл.

Понякога .MDF базата данни може да бъде успешно прикачена. Обаче, когато опитате да изпълните SQL заявка, както например

ИЗБИРАНЕ * ОТ [TestDB].[dbo].[test_table_1]

ще получите и горното съобщение за грешка.

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

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

Данните в MDF файл се съхраняват като страници, като всяка страница е 8KB. Всяка страница има необязателно поле за контролна сума.

Ако SQL Server открие, че контролните суми в някои от данните страници са невалидни, тогава ще съобщи за тази грешка.

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

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

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

Версия на SQL Server Повреден MDF файл MDF файл, фиксиран от DataNumen SQL Recovery
SQL Server 2005 Грешка4_1.mdf Грешка4_1_fixed.mdf
SQL Server 2008 R2 Грешка4_2.mdf Грешка4_2_fixed.mdf
SQL Server 2012 Грешка4_3.mdf Грешка4_3_fixed.mdf
SQL Server 2014 Грешка4_4.mdf Грешка4_4_fixed.mdf