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

DBCC PAGE

Termin Definicja
DBCC PAGE

DBCC PAGE to polecenie umożliwiające bezpośredni podgląd zawartości pojedynczej strony danych w bazie SQL Server.

DBCC PAGE jako narzędzie podglądu stron SQL Server

DBCC PAGE jest nieudokumentowanym poleceniem diagnostycznym silnika Microsoft SQL Server. Służy do odczytania wewnętrznej zawartości jednej strony bazy danych wskazanej przez identyfikator bazy lub jej nazwę, numer pliku oraz numer strony. Podstawowa postać polecenia ma formę DBCC PAGE (baza, numer_pliku, numer_strony, opcja_wydruku). Parametr określający bazę może być nazwą bazy albo jej identyfikatorem, numer pliku odnosi się do pliku danych, a numer strony identyfikuje konkretną stronę w tym pliku.

Strona jest podstawową jednostką organizacji danych w SQL Server i ma rozmiar 8 KB. Osiem kolejnych stron tworzy extent o rozmiarze 64 KB. Na stronie danych mogą znajdować się rekordy tabeli, na stronie indeksu wpisy indeksowe, a na stronach specjalnych informacje o alokacji lub strukturze bazy. DBCC PAGE nie wykonuje typowego zapytania SQL i nie prezentuje danych w postaci tabeli użytkowej. Pokazuje wewnętrzny układ strony, jej nagłówek, informacje o rekordach oraz dane zapisane w określonych offsetach.

Parametry wywołania i sposób prezentowania zawartości

Czwarty argument DBCC PAGE decyduje o zakresie prezentowanych informacji. Wartość 0 służy do wyświetlenia nagłówka strony. Wartość 1 rozszerza wynik o informacje dotyczące rekordów zapisanych na stronie. Wartość 2 pokazuje między innymi surową zawartość rekordów w postaci danych binarnych, natomiast wartość 3 przedstawia bardziej szczegółową interpretację rekordów, obejmującą pola i ich wartości odczytane według wewnętrznego formatu SQL Server. Dokładny wygląd komunikatów może zależeć od wersji silnika oraz rodzaju analizowanej strony.

W wielu zastosowaniach wynik DBCC PAGE jest przekierowywany do połączenia klienta po wcześniejszym włączeniu flagi śledzenia 3604 dla bieżącej sesji, na przykład za pomocą DBCC TRACEON (3604). Flaga ta wpływa na sposób kierowania komunikatów diagnostycznych i nie zmienia zawartości strony. Po zakończeniu analizy można ją wyłączyć poleceniem DBCC TRACEOFF (3604). Opcjonalne WITH TABLERESULTS pozwala zwrócić część wyniku w formie bardziej uporządkowanej, natomiast NO_INFOMSGS ogranicza komunikaty informacyjne.

Przykładowe wywołanie DBCC PAGE (N'MojaBaza', 1, 12345, 3) oznacza próbę odczytania strony numer 12345 z pliku danych o numerze 1 w bazie o nazwie „MojaBaza”, z użyciem szczegółowego trybu prezentacji. Samo polecenie nie wyszukuje strony na podstawie nazwy tabeli. Numer strony musi być znany z wcześniejszej analizy alokacji, identyfikatora rekordu, wpisu indeksowego albo innych informacji diagnostycznych.

Nagłówek strony, sloty i interpretacja rekordów

Wynik DBCC PAGE może ujawnić informacje znajdujące się w nagłówku strony, między innymi identyfikator obiektu, typ strony, numer pliku, numer strony, informacje o alokacji oraz liczbę wpisów w tablicy slotów. Tablica slotów znajduje się na końcu strony i wskazuje położenie rekordów przechowywanych w obszarze danych. Dzięki temu kolejność wpisów w tablicy slotów nie musi być identyczna z fizycznym ułożeniem rekordów od początku strony. Numer rekordu zapisywany jako numer slotu jest więc elementem adresowania wewnątrz konkretnej strony, a nie numerem wiersza zwracanym przez zapytanie SQL.

Tryb szczegółowy może pokazywać nazwy pól, typy danych, długości, offsety oraz wartości zakodowane w rekordzie. Interpretacja wymaga znajomości metadanych tabeli i sposobu przechowywania danych przez SQL Server. Wartości tekstowe, liczby całkowite, identyfikatory, znaczniki czasu oraz dane o zmiennej długości mogą być prezentowane w formie, która nie odpowiada bezpośrednio zapisowi widocznemu w aplikacji. Dodatkowo rekord może zawierać informacje o statusie, kolumnach o stałej i zmiennej długości oraz wskaźnikach do danych przechowywanych poza podstawową częścią rekordu.

DBCC PAGE może być używane razem z innymi poleceniami diagnostycznymi, gdy trzeba ustalić, w jaki sposób obiekt został rozmieszczony na stronach lub gdzie znajduje się konkretny rekord. Sam odczyt strony nie stanowi jednak pełnego testu poprawności bazy. Nie zastępuje DBCC CHECKDB, które sprawdza spójność logiczną i fizyczną struktur struktur bazy zgodnie z zakresem kontroli określonym przez SQL Server. Wynik DBCC PAGE powinien być porównywany z metadanymi systemowymi, definicją tabeli, indeksu oraz informacjami o alokacji.

Bezpieczne wykorzystanie DBCC PAGE w analizie awarii

DBCC PAGE jest przeznaczone przede wszystkim do zaawansowanej diagnostyki wewnętrznej. Ponieważ polecenie nie jest częścią typowego, stabilnego interfejsu administracyjnego, jego składnia, komunikaty oraz szczegóły prezentacji nie powinny być traktowane jako stały kontrakt między wszystkimi wersjami SQL Server. Przed analizą należy dokładnie potwierdzić nazwę bazy, numer pliku i numer strony. Błędne parametry mogą prowadzić do nieczytelnego wyniku, komunikatu o nieprawidłowej stronie albo analizy innego obiektu niż zamierzony.

Odczytywanie stron wymaga odpowiednich uprawnień oraz ostrożności, zwłaszcza w działającej bazie. Polecenie służy do podglądu i nie jest metodą ręcznej korekty rekordów. Nie należy zmieniać bajtów strony, usuwać rekordów ani próbować naprawiać struktury przez manipulowanie wewnętrznym formatem danych. W przypadku podejrzenia uszkodzenia bazy podstawą postępowania są kopie zapasowe, wyniki kontroli spójności, dzienniki SQL Server oraz procedury właściwe dla konkretnej wersji silnika.

W środowisku laptopa lub komputera PC dostęp do DBCC PAGE może pojawić się podczas lokalnej instalacji SQL Server albo programu korzystającego z tego silnika, lecz interpretacja wyniku pozostaje zadaniem administracyjnym związanym z bazą danych. Warszawskie Pogotowie Komputerowe wykonuje profesjonalną naprawę laptopów, komputerów PC i ich podzespołów; analiza wewnętrznych stron SQL Server wymaga natomiast pracy na właściwych narzędziach, uprawnieniach oraz kopii środowiska bazodanowego.

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