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:
-
- 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.
- xxxx.mdf nie jest podstawowym plikiem bazy danych. (Microsoft SQL Server, Błąd: 5171)
- Nagłówek pliku „xxxx.mdf” nie jest prawidłowym nagłówkiem pliku bazy danych. Właściwość FILE SIZE jest niepoprawna. (Microsoft SQL Server, Błąd: 5172)
- SQL Server wykryto błąd we / wy oparty na spójności logicznej: nieprawidłowa suma kontrolna
- SQL Server wykryto logiczny błąd we / wy oparty na spójności: rozdarta strona
- Przez pomyłkę usuwasz niektóre rekordy lub niektóre tabele w bazie danych.
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:
- SQL Server wykryto błąd we / wy oparty na spójności logicznej: nieprawidłowa suma kontrolna
- Wiersz w sys.xxx nie ma zgodnego wiersza w sys.xxx.
- Błąd tabeli: obiekt ID ##, identyfikator indeksu ## zostanie odbudowany.
- Nie można odtworzyć tego indeksu tabeli systemowej.
- Identyfikator obiektu ##, identyfikator indeksu ##, identyfikator partycji ##, identyfikator jednostki alokacji ## (typ Nieznany), identyfikator strony (##: 560) zawiera nieprawidłowy identyfikator strony w nagłówku strony.
Błędy alokacji zgłoszone przez CHECKDB:
- Strona mapy alokacji indeksu (IAM) jest wskazywana przez następny wskaźnik strony IAM
- Zakres (##: ##) w bazie danych o identyfikatorze ## jest oznaczony jako przydzielony w GAM, ale żaden SGAM ani IAM go nie przydzielił.
Wszystkie inne błędy zgłoszone przez CHECKDB:
- Niepowodzenie: (- #######) Wykonanie zapytania „DBCC CHECKDB (xxxx) WITH NO_INFOMSGS” nie powiodło się i wystąpił następujący błąd: „xxxx”.
- Błąd we / wy (zły identyfikator strony) wykryto podczas odczytu z przesunięciem 0x ###### w pliku „xxxx.mdf”.
- System nie mógł aktywować wystarczającej ilości bazy danych, aby odtworzyć dziennik
- Utrata danych podczas naprawy za pomocą CHECKDB
- Wygląda na to, że plik został obcięty przez system operacyjny.
- Podczas ponownego wykonywania zarejestrowanej operacji w bazie danych „xxxx” wystąpił błąd w identyfikatorze rekordu dziennika.