Симптом:
Когато прикрепяте .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 |