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:
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 |