DBCC (Transact-SQL)

Transact-SQL Języku programowania zawiera DBCC instrukcji, które działają jako bazy danych konsoli poleceń dla SQL Server.

Instrukcji polecenia konsoli bazy danych są podzielone na następujące kategorie.

Kategoria polecenia

Wykonać

Konserwacja

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

Różne

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

Informacyjna

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ówlub alokacji stron bazy danych.

Polecenia DBCC podjąć parametry wejściowe i zwracać wartości.Wszystkie parametry polecenia DBCC można zaakceptować literały Unicode i zestaw znaków dwubajtowych .

DBCC wewnętrznego użycia migawkę bazy danych

Następujące polecenia DBCC operują na wewnętrzne tylko do odczytu migawka bazy danych , Aparat baz danych tworzy.Pozwala to uniknąć problemów z blokowaniem i współbieżność te polecenia są wykonywane.Aby uzyskać więcej informacji, zobacz Migawki bazy danych.

DBCC CHECKALLOC

DBCC CHECKDB

DBCC CHECKCATALOG

DBCC CHECKFILEGROUP

DBCC CHECKTABLE

 

Gdy wykonać jednej z tych poleceń DBCC Aparat baz danych tworzy migawka bazy danych i przesuwa ją do transakcyjnie spójnego stanu.Następnie polecenie DBCC uruchamia kontroli przeciwko tym migawka.Po wykonaniu polecenia DBCC migawka ta jest odrzucany.

Czasami wewnętrznego migawka bazy danych nie jest wymagana lub nie można utworzyć.W takim przypadku polecenie DBCC wykonuje się w bazie danych rzeczywistych.Jeśli baza danych jest w trybie online, polecenie DBCC używa tabela-blokowania zapewnia spójność obiektów, które jest sprawdzanie.To zachowanie jest taka sama, jak, jeśli określono opcję Z TABLOCK.

Wewnętrzna migawka bazy danych nie jest tworzony, gdy wykonywane jest polecenie DBCC:

  • Przeciwko wzorca, wystąpienie i SQL Server jest uruchomiony w tryb jednego użytkownika.

  • Bazy danych innych niż wzorca, ale bazy danych został wprowadzony w tryb jednego użytkownika przez przy użyciu instrukcjaALTER DATABASE.

  • Tylko do odczytu bazy danych.

  • Bazy danych, który został zestaw w trybie awaryjnego przy użyciu instrukcjaALTER DATABASE.

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

  • Za pomocą opcji Z TABLOCK.W tym przypadekDBCC uwzględnia zdefiniowane wniosek, nie tworząc migawka bazy danych.

Polecenia DBCC Użyj blokady tabela zamiast migawek wewnętrznej bazy danych, gdy polecenie jest wykonywane następujące czynności:

  • Tylko do odczytu grupa plików

  • System plików FAT

  • Wolumin, który nie obsługuje "strumienie nazwane

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

Ostrzeżenie

Próba uruchomienia DBCC CHECKALLOC lub równoważną część DBCC CHECKDB za pomocą opcji Z TABLOCK wymaga x blokadabazy danych.blokada bazy danych nie może być zestaw na tempdb lub wzorca i nie będzie prawdopodobnie działać w innych bazach danych.

Ostrzeżenie

DBCC CHECKDB nie powiedzie się, gdy jest wykonywane w stosunku wzorca , jeśli nie można utworzyć wewnętrznego migawka bazy danych .

Polecenia DBCC raportowania postępu

Sys.dm_exec_requests widok wykazu zawiera informacje o postępie i bieżącą fazę wykonanie polecenia DBCC CHECKDB, CHECKFILEGROUP i CHECKTABLE.Percent_complete kolumna wskazuje procent wykonania polecenia oraz polecenia kolumna raportów bieżącą fazę wykonanie polecenia.

Bieżącą fazę wykonanie polecenia DBCC zależy od definicji jednostki postępu.Czasami postęp jest raportowany na ziarnistość bazy danych stronaw innych fazach, które jest zgłaszane u ziarnistość pojedynczego naprawa bazy danych lub alokacji.W poniższej tabela opisano każdego etapu realizacji i ziarnistość , w którym polecenie Raport o postępie.

Faza wykonania

Opis

ziarnistośćraportowania postępu

DBCC TABELI WYBORU

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

Postęp raportowany na strona poziombazy danych.

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

NAPRAWA TABELI DBCC

Jeśli REPAIR_FAST, REPAIR_REBUILD lub REPAIR_ALLOW_DATA_LOSS zostanie określony i występują błędy obiektu, które można naprawić, naprawy bazy danych są wykonywane podczas tej fazy.

Postęp raportowany na naprawy poszczególnych poziom.

Licznik jest aktualizowany dla każdej naprawy, która jest przeprowadzana.

DBCC ALLOC WYBORU

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

UwagaUwaga:
DBCC CHECKALLOC wykonuje te same testy.

Nie zgłoszono postępu

DBCC ALLOC NAPRAWY

Napraw bazę danych są wykonywane w tej fazie, jeśli REPAIR_FAST, REPAIR_REBUILD lub REPAIR_ALLOW_DATA_LOSS zostanie określony i występują błędy alokacji, które muszą zostać naprawione.

Nie zgłoszono postępu.

DBCC SYS WYBORU

tabele systemowe bazy danych są sprawdzane podczas tej fazy.

Postęp raportowany na strona poziombazy danych.

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

DBCC SYS NAPRAWY

Napraw bazę danych są wykonywane w tej fazie, jeśli zostanie określony REPAIR_FAST, REPAIR_REBUILD lub REPAIR_ALLOW_DATA_LOSS i tabela systemowa błędów, które muszą zostać naprawione.

Postęp raportowany na naprawy poszczególnych poziom.

Licznik jest aktualizowany dla każdej naprawy, która jest przeprowadzana.

DBCC SSB WYBORU

SQL Server Service Broker obiekty są sprawdzane podczas tej fazy.

UwagaUwaga:
Ta faza nie jest wykonywana po wykonaniu DBCC CHECKTABLE.

Nie zgłoszono postępu.

DBCC CHECKCATALOG

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

UwagaUwaga:
Ta faza nie jest wykonywana po wykonaniu DBCC CHECKTABLE.

Nie zgłoszono postępu.

DBCC IVIEW WYBORU

Logiczne spójności Widoki indeksowane w bazie danych jest sprawdzana podczas tej fazy.

Postęp raportowany na poziom sprawdzana jest widok pojedynczego bazy danych.