Kiedy używasz Microsoft SQL Server aby dołączyć uszkodzony plik bazy danych MDF lub uzyskać do niego dostęp, zostaną wyświetlone różne komunikaty o błędach, które mogą być dla Ciebie nieco zagmatwane. Dlatego postaramy się tutaj wymienić wszystkie możliwe błędy, posortowane według częstotliwości ich występowania. Dla każdego błędu opiszemy jego objaw, wyjaśnimy jego dokładną przyczynę i podamy przykładowe pliki oraz plik poprawiony przez naszego DataNumen SQL Recoveryabyś mógł je lepiej zrozumieć. Poniżej użyjemy „xxx.MDF”, aby wyrazić Twoje zepsucie SQL Server Nazwa pliku bazy danych MDF.
Na podstawie SQL Server lub CHECKDB istnieją trzy rodzaje błędów, które spowodują niepowodzenie:

    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: Dla 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 CHECKDB CHECKTABLE opcje, które mogą pomóc naprawić uszkodzoną bazę danych MDF. Jednak w przypadku poważnie uszkodzonych plików bazy danych MDB, DBCC CHECKDB CHECKTABLE 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: