Objaw:

Podczas próby dołączenia bazy danych .MDF w formacie SQL Server, pojawi się następujący komunikat o błędzie:

Nie udało się pobrać danych dla tego żądania. (Microsoft.SqlServer.Management.Sdk.Sfc)

Wystąpił wyjątek podczas wykonywania instrukcji języka Transact-SQL lub partii. (Microsoft.SqlServer.ConnectionInfo)

xxx.mdf nie jest podstawowym plikiem bazy danych. (Microsoft SQL Server, Błąd: 5171)

gdzie „xxx.mdf” to nazwa pliku MDF do załączenia.

Zrzut ekranu z komunikatem o błędzie:

Zrzut ekranu błędu „Not A Primary Database File”

Dokładne wyjaśnienie:

Dane w pliku MDF są przechowywane jako strony, każda strona ma 8 KB. Pierwsza strona nazywana jest stroną nagłówkową pliku, która zawiera most ważne informacje o całym pliku, takie jak podpis pliku, rozmiar pliku, kompatybilność itp. Pozostałe strony zawierają również ważne informacje, w tym informacje o alokacji stron, a także aktualne dane.

Jeśli strona nagłówka pliku MDF lub inne ważne strony zarządzania są uszkodzone lub uszkodzone i nie mogą zostać rozpoznane przez firmę Microsoft SQL Server, następnie SQL Server pomyśli, że cały plik nie jest prawidłowym plikiem podstawowej bazy danych i zgłosi ten błąd.

Możesz skorzystać z naszego produktu DataNumen SQL Recovery aby odzyskać dane z uszkodzonego pliku MDF i rozwiązać ten błąd.

Przykładowe pliki:

Przykładowe uszkodzone pliki MDF, które spowodują błąd:

SQL Server wersja Uszkodzony plik MDF Plik MDF naprawiony przez DataNumen SQL Recovery
SQL Server 2005 Błąd1_1.mdf Błąd1_1_fixed.mdf
SQL Server 2008 R2 Błąd1_2.mdf Błąd1_2_fixed.mdf
SQL Server 2012 Błąd1_3.mdf Błąd1_3_fixed.mdf
SQL Server 2014 Błąd1_4.mdf Błąd1_4_fixed.mdf