Симптом:

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

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

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

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

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

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

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

Данните в MDF файла се съхраняват като страници, всяка страница е 8KB. Първата страница се нарича страница със заглавие на файла, която съдържа 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