симптом:
При попытке подключить базу данных .MDF в SQL Server, вы увидите следующее сообщение об ошибке:
Не удалось получить данные для этого запроса. (Microsoft.SqlServer.Management.Sdk.Sfc)
Исключение при выполнении инструкции или пакета Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)
xxx.mdf не является основным файлом базы данных. (Майкрософт 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 | Ошибка1_1.mdf | Ошибка1_1_fixed.mdf |
SQL Server 2008 R2 | Ошибка1_2.mdf | Ошибка1_2_fixed.mdf |
SQL Server 2012 | Ошибка1_3.mdf | Ошибка1_3_fixed.mdf |
SQL Server 2014 | Ошибка1_4.mdf | Ошибка1_4_fixed.mdf |