Симптом:

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

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

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

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

ИЗБЕРЕТЕ * ОТ [TestDB]. [Dbo]. [Test_table_1]

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

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

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

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

If 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