Симптом:

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

Неуспешно извличане на данни за тази заявка. (Microsoft.SqlServer.Management.Sdk.Sfc)

Възникна изключение при изпълнението на Transact-SQL изявление или пакет. (Microsoft.SqlServer.ConnectionInfo)

xxx.mdf не е основен файл на базата данни. (Microsoft SQL Server, Грешка: 5171)

където 'xxx.mdf' е името на MDF файла, който да бъде прикачен.

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

Екранна снимка на грешка „Не е първичен файл на база данни“

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

Данните в MDF файла се съхраняват като страници, всяка страница е 8KB. Първата страница се нарича страница на заглавката на файла, която съдържа най-важната информация за целия файл, като подписа на файла, размера на файла, съвместимост и т.н. Останалите страници също съдържат важна информация, включително информация за разпределението на страници, както и самите данни.

Ако заглавната страница на 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