симптом:
При подключении базы данных .MDF в SQL Server, вы увидите следующее сообщение об ошибке:
SQL Server обнаружена ошибка ввода-вывода на основе логической согласованности: неверная контрольная сумма (ожидаемая: 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 хранятся в виде страниц, каждая страница имеет размер 8 КБ. Каждая страница имеет необязательное поле контрольной суммы.
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 |