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. ![]()
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. ![]()
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. ![]()
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. |
Sprawozdania informacyjne
Sprawdzanie poprawności instrukcji
Instrukcje obsługi