| 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 ServerDBCC 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ę 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ściCzwarty 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ą Przykładowe wywołanie Nagłówek strony, sloty i interpretacja rekordówWynik 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 Bezpieczne wykorzystanie DBCC PAGE w analizie awariiDBCC 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. |