DBCC (języka Transact-SQL)

The Transact-SQL programming language provides DBCC statements that act as Database Console Commands for SQL Server.

Instrukcji Command konsoli bazy danych są pogrupowane w następujące kategorie.

Polecenie kategorii

Wykonać

Konserwacja

Zadań związanych z konserwacją bazy danych, indeks lub grupa plików.

Różne

Różne zadania, takich jak włączenie flagi śledzenia lub usuwania pliku DLL z pamięci.

Informacyjne

Zadania, zbierania i wyświetlania różnych typów informacji.

Sprawdzanie poprawności

Sprawdzanie poprawności operacji na bazie danych, tabela, indeksu, wykazu, grupa plików lub alokacji stron bazy danych.

Polecenia DBCC parametrów wejściowych i zwracać wartości.Wszystkie parametry polecenia DBCC może akceptować literały ciągów znaków zestaw zestaw znaków dwubajtowych i Unicode.

DBCC wewnętrzny migawka bazy danych obciążenie

Następujące polecenia DBCC operują na wewnętrznego odczytu — tylko migawka bazy danych, Database Engine tworzy. Pozwala to uniknąć problemów z blokowaniem i współbieżność te polecenia są wykonywane.Aby uzyskać więcej informacji zobaczDatabase Snapshots.

DBCC CHECKALLOC

DBCC CHECKDB

DBCC CHECKCATALOG

DBCC CHECKFILEGROUP

DBCC CHECKTABLE

 

Po wykonaniu jednej z tych poleceń DBCC Database Engine tworzy migawka bazy danych i przesuwa ją transakcyjnie spójna. Następnie polecenie DBCC uruchamia kontroli przed tym migawka.Po wykonaniu polecenia DBCC tę migawkę zostanie usunięte.

Czasami wewnętrznego migawka bazy danych nie jest wymagana i nie można utworzyć.W takim wypadku polecenie DBCC wykonuje się w bazie danych rzeczywistych.Jeśli baza danych jest w trybie online, polecenie DBCC używa blokowania tabela zapewnia spójność obiektów, które sprawdza on.To zachowanie jest takie samo jak w przypadku, gdy opcja WITH TABLOCK została określona.

migawka wewnętrznej bazy danych nie jest tworzony, gdy wykonywane jest polecenie DBCC:

  • Wzorzec i wystąpienie SQL Server jest uruchomiony tryb jednego użytkownika.

  • Przed bazy danych innych niż wzorca, lecz bazy danych został wprowadzony tryb jednego użytkownika przy użyciu instrukcja ALTER DATABASE.

  • Tylko do odczytu bazy danych.

  • Związanego z bazą danych, który został ustawiony w trybie awaryjnego za pomocą instrukcja ALTER DATABASE.

  • Przed tempdb.W takim przypadek nie można utworzyć migawka bazy danych z powodu ograniczeń wewnętrznych.

  • Za pomocą opcji WITH TABLOCK.W takim przypadek DBCC uwzględnia zdefiniowane żądanie, nie tworząc migawka bazy danych.

Polecenia DBCC stosować blokady tabela zamiast migawek wewnętrznej bazy danych, kiedy polecenie jest wykonywane przed następujące:

  • grupa plików tylko do odczytu

  • System plików FAT

  • Wolumin, który nie obsługuje "strumienie o nazwie „

  • Wolumin, który nie obsługuje "strumieni alternatywnych „

Uwaga

Próba uruchomienia DBCC CHECKALLOC lub równoważne część CHECKDB DBCC za pomocą opcji WITH TABLOCK wymaga blokada X bazy danych.Ta blokada bazy danych nie zestaw tempdb lub wzorca i nie będzie prawdopodobnie działać na wszystkich innych baz danych.

Uwaga

DBCC CHECKDB fails when it is run againstmaster if an internal database snapshot cannot be created.

Raporty dla polecenia DBCC postępu

Widok katalogu sys.dm_exec_requests zawiera informacje o postępie i fazy bieżący wykonanie polecenia DBCC CHECKDB, CHECKFILEGROUP i CHECKTABLE.Kolumna percent_complete wskazuje procent wykonania polecenia oraz polecenia Raporty kolumny fazy bieżący wykonanie polecenia.

Definicja jednostki postęp zależy od fazy bieżący wykonanie polecenia DBCC.Czasami po zgłoszeniu postępu w ziarnistość strona bazy danych, w drugiej fazy jest zgłaszany w ziarnistość pojedynczego naprawę bazy danych lub alokacji.W poniższej tabela opisano każdy etap realizacji i rozdrobnienia, w którym polecenie Raporty postępu.

Faza wykonania

Description

ziarnistość raportowania postępu

DBCC WYBORU tabela

Podczas tej fazy jest sprawdzana spójność logicznych i fizycznych obiektów w bazie danych.

Postęp raportowany poziom strona bazy danych.

Wartość raportowania postępu jest aktualizowane dla każdego 1000 stron bazy danych, które są sprawdzane. 

DBCC tabela NAPRAWY

Napraw bazę danych są wykonywane podczas tej fazy REPAIR_FAST, REPAIR_REBUILD lub REPAIR_ALLOW_DATA_LOSS jest określony i występują błędy obiekt, który musi zostać naprawiona.

Postęp raportowany poziom poszczególnych naprawy.

Licznik jest aktualizowane dla każdego naprawy, która jest przeprowadzana.

DBCC ALLOC WYBORU

Alokacja struktur w bazie danych są sprawdzane podczas tej fazy.

NoteNote:
DBCC CHECKALLOC wykonuje te same kontroli.

Nie po zgłoszeniu postępu

DBCC ALLOC NAPRAWY

Napraw bazę danych są wykonywane podczas tej fazy REPAIR_FAST, REPAIR_REBUILD lub REPAIR_ALLOW_DATA_LOSS jest określony i występują błędy alokacji, który musi zostać naprawiona.

Nie po zgłoszeniu postępu.

DBCC SYS WYBORU

Tabele systemowe bazy danych są sprawdzane podczas tej fazy.

Postęp raportowany poziom strona bazy danych.

Wartość raportowania postępu jest aktualizowany na każdy 1000 stron bazy danych, które są sprawdzane.

DBCC SYS NAPRAWY

Napraw bazę danych są wykonywane podczas tej fazy, jeśli określono REPAIR_FAST, REPAIR_REBUILD lub REPAIR_ALLOW_DATA_LOSS i system tabela błędów, które muszą zostać naprawiona.

Postęp raportowany poziom poszczególnych naprawy.

Licznik jest aktualizowane dla każdego naprawy, która jest przeprowadzana.

DBCC SSB WYBORU

SQL Server Obiekty usługa Broker są sprawdzane podczas tej fazy.

NoteNote:
Ta faza nie jest wykonywana, gdy CHECKTABLE DBCC jest wykonywane.

Nie po zgłoszeniu postępu.

DBCC CHECKCATALOG

Spójność bazy danych katalogów są sprawdzane podczas tej fazy.

NoteNote:
Ta faza nie jest wykonywana, gdy CHECKTABLE DBCC jest wykonywane.

Nie po zgłoszeniu postępu.

DBCC IVIEW WYBORU

Logiczne spójności Widoki indeksowane w bazie danych są sprawdzane podczas tej fazy.

poziom widoku poszczególnych bazy danych, które Trwa sprawdzanie, czy zgłoszeniu postępu.