Симптом:
Когато се опитвате да прикрепите .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 |