Podczas korzystania z Microsoft SQL Server dołączyć lub uzyskać dostęp do uszkodzonego pliku bazy danych MDF, możesz napotkać różne komunikaty o błędach, które mogą być mylące. Poniżej wymienimy wszystkie błędy, posortowane według częstotliwości. Dla każdego błędu opiszemy jego objawy, wyjaśnimy dokładną przyczynę i udostępnimy przykładowe pliki wraz z plikami naprawionymi przez DataNumen SQL Recovery. Pomoże Ci to lepiej zrozumieć te błędy. Uwaga „xxx.MDF” będzie reprezentować nazwę twojego uszkodzonego SQL Server plik bazy danych MDF.

Na podstawie SQL Server lub komunikaty o błędach CHECKDB, istnieją trzy rodzaje błędów:

    1. Błędy alokacji: Wiemy, że dane w plikach MDF i NDF są przydzielane jako stron. Istnieje kilka specjalnych stron, które są używane do zarządzania alokacjami, jak poniżej:
Typ strony Opis
Strona GAM Przechowuj informacje o globalnej mapie alokacji (GAM).
Strona SGAM Przechowuj informacje o udostępnionej globalnej mapie alokacji (SGAM).
Strona IAM Przechowuj informacje o mapie alokacji indeksu (IAM).
Strona PFS Przechowuj informacje o alokacji PFS.

Jeśli którakolwiek z powyższych stron alokacji zawiera błędy lub dane zarządzane przez te strony alokacji są niezgodne z informacjami o alokacji, to SQL Server lub CHECKDB zgłosi błędy alokacji.

  • Błędy spójności: W razie zamówieenia projektu stron które są używane do przechowywania danych, w tym stron danych i stron indeksowych, jeśli SQL Server lub CHECKDB znajdzie niezgodność między zawartością strony a sumą kontrolną, a następnie zgłosi błędy spójności.
  • Wszystkie inne błędy: Mogą występować inne błędy, które nie należą do powyższych dwóch kategorii.

 

SQL Server ma wbudowane narzędzie o nazwie DBCC, który ma SPRAWDŹDB i TABELA SPRAWDZANIA opcje, które mogą pomóc naprawić uszkodzoną bazę danych MDF. Jednak w przypadku poważnie uszkodzonych plików bazy danych MDB, DBCC CHECKDB i TABELA SPRAWDZANIA również zawiedzie.

Błędy spójności zgłoszone przez CHECKDB:

Błędy alokacji zgłoszone przez CHECKDB:

Wszystkie inne błędy zgłoszone przez CHECKDB: