Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

Uszkodzona struktura wewnętrzna

Termin Definicja
Uszkodzona struktura wewnętrzna

Uszkodzona struktura wewnętrzna wymaga zwykle naprawy poleceniem DBCC CHECKDB lub przywrócenia z kopii zapasowej.

Co oznacza uszkodzona struktura wewnętrzna bazy SQL Server

Uszkodzona struktura wewnętrzna oznacza niespójność elementów zapisanych w bazie danych Microsoft SQL Server. Problem może dotyczyć stron danych, indeksów, alokacji przestrzeni, metadanych albo zależności pomiędzy obiektami bazy. SQL Server przechowuje dane w stronach o rozmiarze 8 KB, organizowanych w rozszerzenia i struktury alokacyjne. Jeżeli informacje o położeniu stron, przypisaniu obiektu lub zawartości strony nie odpowiadają oczekiwanemu modelowi, silnik może zgłosić błąd spójności. Taki stan nie jest zwykłym błędem zapytania SQL ani problemem formatowania tabeli.

Do wykrywania niespójności służy polecenie DBCC CHECKDB. Sprawdza ono między innymi logiczną i fizyczną spójność całej bazy, poprawność stron danych, struktur indeksów oraz relacje alokacji. Wynik kontroli zawiera komunikaty z numerami błędów, identyfikatorami obiektów i stron, a także zaleceniami dotyczącymi dalszego postępowania. Samo zgłoszenie uszkodzenia nie określa jeszcze, czy problem można ograniczyć do odbudowy indeksu, czy konieczne będzie odtworzenie danych z kopii zapasowej.

Jak DBCC CHECKDB rozróżnia rodzaje niespójności

Zakres problemu należy oceniać na podstawie pełnego wyniku DBCC CHECKDB, a nie pojedynczego komunikatu z aplikacji. Błędy indeksu mogą mieć inny skutek niż uszkodzenie stron zawierających dane tabeli. W niektórych przypadkach można usunąć wadliwy indeks i utworzyć go ponownie, ponieważ indeks jest strukturą pomocniczą. Nie wolno jednak automatycznie zakładać, że każdą informację o uszkodzonej strukturze da się naprawić przez przebudowę indeksów. Jeśli uszkodzenie obejmuje dane użytkownika, metadane lub alokację, odbudowa indeksu może nie rozwiązać problemu.

Do wstępnej oceny większych baz można wykorzystać opcję PHYSICAL_ONLY, która ogranicza kontrolę do spójności struktur fizycznych, nagłówków stron i podstawowych kontroli alokacji. Nie zastępuje ona pełnego sprawdzenia logicznego, ponieważ nie wykrywa wszystkich niespójności relacji między obiektami. Podczas analizy trzeba również ustalić, czy błąd występuje stale, czy pojawił się po awarii zasilania, problemie z pamięcią masową, błędzie sterownika, nieprawidłowym zamknięciu systemu albo innym zdarzeniu mogącym zmienić zapis stron na dysku.

Odtworzenie kopii a ryzykowne opcje naprawcze

Najbezpieczniejszą metodą odzyskania spójnej bazy jest odtworzenie jej z prawidłowej kopii zapasowej. W zależności od dostępnych kopii może być potrzebne odtworzenie pełnej kopii bazy, a następnie kopii różnicowej i dziennika transakcji. Przed wykonaniem operacji należy potwierdzić, że kopia jest czytelna, pochodzi sprzed wystąpienia uszkodzenia oraz obejmuje wymagany zakres danych. Po odtworzeniu warto uruchomić DBCC CHECKDB na przywróconej bazie, aby sprawdzić jej spójność niezależnie od samego faktu poprawnego zakończenia operacji restore.

SQL Server może w raporcie wskazać polecenia naprawcze, takie jak REPAIR_REBUILD lub REPAIR_ALLOW_DATA_LOSS. Pierwsza opcja jest przeznaczona dla wybranych problemów, które można usunąć bez usuwania danych, natomiast druga może powodować utratę części informacji i dlatego nie powinna być traktowana jako standardowa naprawa. Przed jej użyciem należy wykonać kopię stanu istniejącej bazy, zabezpieczyć wynik diagnostyki i określić, jakie obiekty mogą zostać usunięte lub zmienione. Naprawa poleceniem DBCC nie cofa fizycznego uszkodzenia nośnika i nie usuwa przyczyny, która doprowadziła do niespójności.

Diagnostyka przywracająca poprawny przepływ danych

Analiza powinna obejmować zarówno samą bazę, jak i środowisko, w którym jest przechowywana. Należy sprawdzić dziennik SQL Server, historię kopii zapasowych, stan woluminów, komunikaty systemu operacyjnego oraz powtarzalność błędów podczas odczytu konkretnych tabel. Jeżeli uszkodzenie dotyczy pojedynczych stron, przydatne są identyfikatory obiektów i stron podane przez DBCC CHECKDB. Pozwalają one powiązać komunikat z tabelą, indeksem lub innym obiektem i odróżnić uszkodzenie danych od problemu ograniczonego do struktury pomocniczej.

W przypadku laptopa lub komputera PC diagnostyka może obejmować również stan dysku, pamięci operacyjnej, temperatur i zasilania, ponieważ niestabilność sprzętowa może prowadzić do powtarzania błędów zapisu. Nie należy uruchamiać kolejnych operacji naprawczych bez zachowania kopii i bez rozpoznania skutków. Warszawskie Pogotowie Komputerowe wykonuje profesjonalną naprawę laptopów, komputerów PC i ich podzespołów, a przy problemach z lokalnym środowiskiem komputerowym może rozpocząć od zabezpieczenia danych oraz ustalenia, czy uszkodzona struktura wynika z awarii oprogramowania, nośnika lub innych elementów komputera.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę