KWALIFIKACJA INF3 - STYCZEŃ 2016

PYTANIE NR 26.
Polecenie DBCC CHECKDB ('sklepAGD', Repair_fast) w MS SQL Server
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
DBCC CHECKDB służy do sprawdzania logicznej i fizycznej spójności całej bazy danych. W trybach naprawy polecenie może próbować usunąć wykryte niespójności, w praktyce m.in. odbudowując/naprawiając struktury indeksów. Nie dotyczy pojedynczej tabeli i nie wykonuje kopii bezpieczeństwa.

Pełne wyjaśnienie:

Polecenie DBCC CHECKDB jest narzędziem diagnostycznym w MS SQL Server służącym do sprawdzania spójności (integralności) całej bazy danych. Obejmuje ono kontrolę struktur składowania danych oraz relacji między nimi – celem jest wykrycie uszkodzeń logicznych i fizycznych, które mogą skutkować błędami odczytu, niespójnymi wynikami zapytań lub awariami operacji.

W kontekście odpowiedzi "sprawdzi spójność bazy danych i naprawi uszkodzone indeksy" kluczowe jest to, że CHECKDB nie ogranicza się do jednej tabeli: działa na poziomie bazy danych. Opcje naprawy (w zależności od wersji SQL Server) mogą próbować automatycznie usunąć część problemów, a typowe działania naprawcze dotyczą m.in. struktur indeksowych (np. ich przebudowy), bo indeksy są jednymi z elementów najczęściej weryfikowanych w kontroli spójności.

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • Odpowiedź "sprawdzi spójność określonej tabeli" myli zakres działania. Do badania pojedynczej tabeli służą inne polecenia z rodziny DBCC (np. ukierunkowane na konkretny obiekt), natomiast CHECKDB jest ukierunkowane na bazę.
  • Odpowiedź "sprawdzi spójność bazy danych i wykona kopię bezpieczeństwa" łączy dwa różne obszary administracji. CHECKDB jest diagnostyką/naprawą, a kopie bezpieczeństwa wykonuje się poleceniami BACKUP (lub narzędziami/planami utrzymaniowymi), nie DBCC CHECKDB.
  • Odpowiedź "sprawdzi spójność określonej tabeli i naprawi uszkodzone rekordy" jest błędna podwójnie: po pierwsze zawęża działanie do tabeli, po drugie sugeruje "naprawę rekordów" wprost. Mechanizmy naprawcze DBCC operują na poziomie struktur bazy, a nie na prostym "poprawieniu rekordów" rozumianym jak edycja danych w wierszach.

W praktyce administracyjnej przed użyciem opcji naprawczych należy rozważyć odtworzenie bazy z poprawnej kopii oraz pracę na środowisku testowym, ponieważ naprawy mogą mieć skutki uboczne (np. ingerencję w struktury danych). Na egzaminie warto zapamiętać: CHECKDB = kontrola spójności bazy, a kopie bezpieczeństwa to osobny zestaw poleceń i procedur.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
DBCC CHECKDB sprawdza spójność (integralność) całej bazy danych, czyli wykrywa uszkodzenia logiczne i fizyczne w strukturach bazy. Jest to narzędzie diagnostyczne używane w administracji SQL Server do kontroli stanu bazy, a nie do pracy na pojedynczej tabeli.
DBCC CHECKDB służy do diagnostyki i ewentualnej naprawy spójności bazy, natomiast kopię bezpieczeństwa wykonuje się poleceniami BACKUP lub planami backupu. To różne cele: CHECKDB wykrywa problemy, a backup umożliwia odtworzenie danych po awarii.
Najprościej patrzeć na zakres w nazwie i parametrach: CHECKDB dotyczy bazy danych, natomiast polecenia ukierunkowane na obiekty (np. konkretne tabele/indeksy) zwykle wskazują obiekt w parametrze. Na egzaminie pytaj siebie: "czy sprawdzam całą bazę, czy jeden obiekt?".
Tak, w zależności od użytych opcji naprawy DBCC CHECKDB może próbować usuwać część wykrytych problemów, często dotyczących struktur takich jak indeksy. W praktyce przed naprawą zaleca się analizę wyników oraz posiadanie aktualnej kopii, bo naprawy mogą być ryzykowne.
Warto wykonywać CHECKDB okresowo w ramach utrzymania (maintenance), szczególnie po awariach sprzętu, nieoczekiwanych restartach serwera lub podejrzeniach uszkodzeń. W aplikacjach webowych (sklepy, CMS) baza jest krytyczna, więc kontrola spójności ogranicza ryzyko ukrytych błędów.
CHECKDB jest projektowane do kontroli całej bazy, a nie pojedynczej tabeli. Jeśli w odpowiedziach pojawia się "określona tabela", to pasuje raczej do poleceń weryfikujących konkretny obiekt. To częsta pułapka testowa: "baza" vs "tabela".
Najczęściej: mylenie CHECKDB z backupem, mylenie bazy z tabelą oraz wybieranie "bardziej rozbudowanej" odpowiedzi, bo brzmi profesjonalnie. Pomaga prosta reguła: DBCC CHECKDB = kontrola spójności bazy; backup = osobne polecenia i procedury odtwarzania.
Nie. Składnia i dostępność opcji mogły się zmieniać między wersjami SQL Server (część opcji bywa wycofywana lub zastępowana innymi). Dlatego na egzaminie warto znać sens działania (spójność bazy, naprawa struktur), a w praktyce zawsze sprawdzać dokumentację dla danej wersji.
Ćwicz na bazie testowej: tworzenie bazy, indeksów, wykonywanie BACKUP/RESTORE oraz uruchamianie poleceń diagnostycznych typu DBCC. Zwracaj uwagę na zakres poleceń (serwer/baza/tabela) i na to, które narzędzia służą do diagnostyki, a które do zabezpieczenia danych.
Najpierw przeanalizuj raport i rozważ odtworzenie bazy z poprawnej kopii bezpieczeństwa. Naprawy DBCC mogą być ryzykowne, więc w praktyce stosuje się je świadomie, często po testach. Kluczowe jest też znalezienie przyczyny (awaria dysku, RAM, przerwane zapisy).
info

Statystycznie 47% uczniów zna prawidłową odpowiedź. trudne

Według specjalistów z branży: "DBCC CHECKDB służy do sprawdzania logicznej i fizycznej spójności całej bazy danych."

Źródła:

  • Microsoft Learn: DBCC CHECKDB (Transact-SQL) – opis działania i przeznaczenia polecenia, https://learn.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-checkdb-transact-sql (dostęp: 2026-03-01)
  • Microsoft Learn: DBCC (Transact-SQL) – wprowadzenie do poleceń DBCC i ich zastosowań administracyjnych, https://learn.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-transact-sql (dostęp: 2026-03-01)
  • Microsoft Learn: BACKUP (Transact-SQL) – polecenie tworzenia kopii bezpieczeństwa (dla rozróżnienia od DBCC), https://learn.microsoft.com/en-us/sql/t-sql/statements/backup-transact-sql (dostęp: 2026-03-01)

Materiały:

  • Dokumentacja Microsoft Learn: DBCC CHECKDB
  • Dokumentacja Microsoft Learn: DBCC (ogólnie) oraz konserwacja baz danych
  • Materiały do INF.3 z administracji bazami danych i T-SQL

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego