симптом:

При попытке присоединить базу данных .MDF в SQL Server, вы увидите следующее сообщение об ошибке:

Не удалось получить данные для этого запроса. (Microsoft.SqlServer.Management.Sdk.Sfc)

Исключение при выполнении инструкции или пакета Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)

xxx.mdf не является основным файлом базы данных. (Microsoft SQL Server, Ошибка: 5171)

где 'xxx.mdf - имя прикрепляемого файла MDF.

Скриншот сообщения об ошибке:

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

Данные в файле MDF хранятся в виде страниц, каждая страница по 8 КБ. Первая страница называется страницей заголовка файла, которая содержит most важная информация обо всем файле, такая как подпись файла, размер файла, совместимость и т. д. Остальные страницы также содержат важную информацию, включая информацию о размещении страниц, а также фактические данные.

Если страница заголовка файла MDF или другие важные страницы управления повреждены или повреждены и не могут быть распознаны Microsoft SQL Server, тогда SQL Server будет думать, что весь файл не является действительным первичным файлом базы данных, и сообщать об этой ошибке.

Вы можете использовать наш продукт DataNumen SQL Recovery для восстановления данных из поврежденного файла MDF и устранения этой ошибки.

Образцы файлов:

Примеры поврежденных файлов MDF, которые вызывают ошибку:

SQL Server версия Поврежденный файл MDF Файл MDF исправлен DataNumen SQL Recovery
SQL Server 2005 Error1_1.mdf Error1_1_fixed.mdf
SQL Server 2008 R2 Error1_2.mdf Error1_2_fixed.mdf
SQL Server 2012 Error1_3.mdf Error1_3_fixed.mdf
SQL Server 2014 Error1_4.mdf Error1_4_fixed.mdf