Симптом:

При спробі приєднати базу даних .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 Помилка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