DBCC CHECKFILEGROUP (Transact-SQL)

Sprawdza, czy przydział i integralność strukturalnej wszystkie tabele i widoki indeksowane w określonej grupa plików bieżącej bazy danych.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

DBCC CHECKFILEGROUP 
[
    [ ( { filegroup_name | filegroup_id | 0 } 
        [ , NOINDEX ] 
  ) ]
    [ WITH 
        { 
            [ ALL_ERRORMSGS | NO_INFOMSGS ] 
            [ , TABLOCK ] 
            [ , ESTIMATEONLY ]
            [ , PHYSICAL_ONLY ]  
        } 
    ]
]

Argumenty

  • filegroup_name
    Jest to nazwa grupa plików w bieżącej bazie danych, dla których sprawdzanie integralnośćstrukturalnej i tabela alokacji.Jeśli nie określono lub określono wartość 0, wartość domyślna to podstawowa grupa plików.Nazwy grupy plików muszą być zgodne z zasadami identyfikatorów.

    filegroup_namenie może być FILESTREAM grupa plików.

  • filegroup_id
    To numer identyfikacyjny (ID) grupa plików w bieżącej bazie danych, dla którego należy sprawdzić tabela alokacji strukturalnych i integralność.

  • NOINDEX
    Określa intensywnych kontroli ponownego zbudowania indeksów dla tabel użytkownika nie należy wykonać.Zmniejsza ogólny wykonanie czas.NOINDEX nie wpływa na tabele systemowe , ponieważ DBCC CHECKFILEGROUP zawsze sprawdza wszystkie indeksy tabela systemowa .

  • ALL_ERRORMSGS
    Wyświetla nieograniczoną liczbę błędów na obiekt.Domyślnie są wyświetlane wszystkie komunikaty o błędach.Określanie lub pominięcie tej opcji nie ma znaczenia.

  • NO_INFOMSGS
    Pomija wszystkie komunikaty informacyjne.

  • TABLOCK
    Powoduje, że DBCC CHECKFILEGROUP uzyskać blokady zamiast korzystania z wewnętrznego migawka bazy danych.

  • ESTIMATEONLY
    Wyświetla szacowaną liczbę tempdb miejsca wymagana do uruchomienia DBCC CHECKFILEGROUP z wszystkich innych określonych opcji.

  • PHYSICAL_ONLY
    Ogranicza sprawdzania integralność fizycznej struktury strona, nagłówki rekordu i fizyczną strukturę drzewa B.Opracowane w celu zapewnienia małym wyboru narzutów fizycznej spójności grupa plików, ten test można także wykrywać podarte stron i wspólne awarie sprzętowe, które mogą wpłynąć na dane.Pełne uruchomienia DBCC CHECKFILEGROUP może trwać znacznie dłużej niż we wcześniejszych wersjach.To zachowanie występuje, ponieważ z następujących powodów:

    • Kontrole logiczne są bardziej wyczerpujące.

    • Niektóre z podstawowych struktur mają być sprawdzane są bardziej złożone.

    • Aby uwzględnić nowe funkcje zostały wprowadzone wiele nowych kontroli.

    W związku z tym za pomocą opcji PHYSICAL_ONLY może powodować znacznie krótszy Uruchomczas dla DBCC CHECKFILEGROUP na dużych aplikacjami i dlatego zaleca się częste stosowanie w systemach produkcyjnych.Nadal zaleca się okresowo wykonać pełne uruchomienia DBCC CHECKFILEGROUP.Częstotliwość tych uruchamia zależy od czynników specyficznych dla poszczególnych firm i w środowiskach produkcyjnych.PHYSICAL_ONLY zawsze oznacza NO_INFOMSGS i nie jest dozwolone przy użyciu dowolnej opcji naprawy.

    Ostrzeżenie

    Określanie przyczyny DBCC CHECKFILEGROUP pominąć wszystkie PHYSICAL_ONLY sprawdza danych FILESTREAM.

Uwagi

DBCC CHECKFILEGROUP i DBCC CHECKDB są podobne polecenia DBCC.Podstawową różnicą jest to, że DBCC CHECKFILEGROUP jest ograniczony do jednej określonej grupa plików i wymagane tabele.

DBCC CHECKFILEGROUP wykonuje następujące polecenia:

Uruchomienie DBCC CHECKALLOC lub DBCC CHECKTABLE oddzielnie od DBCC CHECKFILEGROUP nie jest wymagane.

Migawki wewnętrznej bazy danych

DBCC CHECKFILEGROUP używa wewnętrznego migawka bazy danych w celu zapewnienia spójności transakcyjnej, który musi mieć do wykonywania tych kontroli.Aby uzyskać więcej informacji, zobacz Opis Sparse rozmiary plików w bazie danych migawek i "DBCC wewnętrznej bazy danych migawki użycia", sekcja w DBCC (Transact-SQL).

Jeśli nie można utworzyć migawka lub określono opcję TABLOCK, DBCC CHECKFILEGROUP nabywa blokady, aby uzyskać wymaganą konsystencję.W tym przypadekwyłącznych bazy danych blokada jest wymagane do przeprowadzenia kontroli alokacji i zamki udostępnionego tabela są wymagane do przeprowadzenia kontroli tabela .TABLOCK powoduje, że DBCC CHECKFILEGROUP szybsze działanie bazy danych przy dużym obciążeniu, ale zmniejsza współbieżność dostępne w bazie danych jest uruchomiona DBCC CHECKFILEGROUP.

Ostrzeżenie

Uruchamianie DBCC CHECKFILEGROUP przeciwko tempdb nie wykonuje żadnych kontroli alokacji i muszą nabyć zamki udostępnionego tabela do wykonywania kontroli tabela .To, ponieważ ze względu na wydajność bazy danych migawek nie są dostępne na tempdb.Oznacza to, nie można uzyskać wymaganej spójności transakcyjnej.

Sprawdzanie obiektów równolegle

Domyślnie DBCC CHECKFILEGROUP wykonuje równoległe sprawdzanie obiektów.Stopień równoległości prostych jest automatycznie określany przez procesor kwerend.Maksymalny stopień równoległości prostych jest skonfigurowane tak samo jak równoległych kwerend.Aby ograniczyć maksymalną liczbę procesorów dostępnych dla sprawdzenia DBCC, użyj sp_configure.Aby uzyskać więcej informacji, zobacz maksymalny stopień równoległości prostych opcji.

Równoległe sprawdzanie można wyłączyć za pomocą flagi śledzenia 2528.Aby uzyskać więcej informacji, zobacz Flagi śledzenia (Transact-SQL).

Na oddzielnym aplikacjami ponownego zbudowania indeksów

indeks nieklastrowany w określonej grupa plików jest skojarzony z tabela w innej grupa plików, indeks nie jest zaznaczone, ponieważ tabela bazowa nie jest dostępna dla sprawdzania poprawności.Jest to zmiana zachowania w SQL Server 2005.W starszych wersjach SQL Server, indeks nieklastrowany i tabela bazowa w innej grupa plików są sprawdzane.Aby sprawdzić zbudowania indeksów i tabel bazowych, uruchom dbcc checkdb.

Jeśli tabela w określonej grupa plików indeks nieklastrowany w innej grupa plików, indeks nieklastrowany nie jest zaznaczone z następujących czynności:

  • Struktura tabela bazowa nie jest zależne od struktury indeks nieklastrowany.Ponownego zbudowania indeksów nie skanowane do sprawdzania poprawności tabela bazowa.

  • Polecenie DBCC CHECKFILEGROUP sprawdza poprawność obiektów tylko w określonej grupa plików.

indeks klastrowany i tabela nie może znajdować się na różnych aplikacjami; Dlatego wcześniejsze rozważania dotyczą tylko do zbudowania indeksów nie klastrowanych.

Tabele podzielonym na partycje na oddzielnym aplikacjami

W wersjach SQL Server 2005 wcześniej niż dodatek Service Pack 2 (SP2) sprawdza DBCC CHECKFILEGROUP tabela partycjonowana tylko wtedy, gdy cała tabela znajduje się w określonej grupa plików.Jeśli tabela jest umieszczonych na wielu aplikacjami, całej tabela jest ignorowana.W dodatku SP2 i wyższym po tabela partycjonowana znajduje się na wielu aplikacjami, DBCC CHECKFILEGROUP kontrole zestawów wierszy partycji, która istnieje w określonej grupa plików i ignoruje zestawów wierszy w innymi aplikacjami.Komunikat informacyjny 2594 wskazuje partycje, które nie zostały zaznaczone.Ponownego zbudowania indeksów nie pobyt w określonej grupa plików nie są sprawdzane.

Opis komunikatów o błędach DBCC

Po zakończeniu działania polecenia DBCC CHECKFILEGROUP jest zapisywany komunikat SQL Server dziennik błędów.Jeśli polecenie DBCC pomyślnie wykona wiadomości wskazuje pomyślne zakończenie i czas uruchomienia polecenia.Polecenie DBCC zatrzymuje się przed zakończeniem kontroli z powodu błędu, komunikat wskazuje, polecenie zostało zakończone, wartość stanu i czas , który uruchomił polecenie.W poniższej tabela wymieniono i opisano wartości stanu, które mogą być dołączone do wiadomości.

Stan

Opis

0

Błąd numer 8 930 był uruchamiany.Oznacza to uszkodzenie metadane , który spowodował polecenie DBCC, aby zakończyć.

1

Błąd numer 8967 był uruchamiany.Wystąpił błąd wewnętrzny DBCC.

2

Wystąpił błąd podczas naprawy bazy danych trybu awaryjnego.

3

Oznacza to uszkodzenie metadane , który spowodował polecenie DBCC, aby zakończyć.

4

Wykryto assert lub naruszenie zasad dostępu.

5

Wystąpił nieznany błąd, który polecenie DBCC zakończone.

Raportowanie błędów

Plikautomatyczna kopia zapasowa mini-(SQLDUMPnnnn.txt) jest tworzony w SQL Server katalog dziennika, ilekroć DBCC CHECKFILEGROUP wykryje błąd uszkodzenia.Jeżeli dane użycia funkcji kolekcja i funkcje raportowania błędów są włączone dla wystąpienie SQL Server, plik jest automatycznie przesyłane dalej Microsoft.Zebrane dane są używane do poprawy SQL Server funkcji.

Plik automatyczna kopia zapasowa zawiera wyniki polecenia DBCC CHECKFILEGROUP i dodatkowej produkcji diagnostycznych.Plik ograniczył listach arbitralnej kontroli dostępu (DACL).Dostęp jest ograniczony do SQL Serverkontousługa i członków sysadmin rolę.Domyślnie sysadmin roli zawiera wszystkich członków grupy systemu Windows BUILTIN\Administratorzy oraz grupa administratora lokalnego.Polecenie DBCC się nie powieść, jeśli proces kolekcja danych nie powiedzie się.

Rozwiązywanie błędów

Wszelkie błędy są zgłaszane przez DBCC CHECKFILEGROUP, zaleca się przywrócenie bazy danych z bazy danych kopia zapasowa.Należy zauważyć, że nie można określić opcji naprawy do DBCC CHECKFILEGROUP.

Jeśli istnieje nie kopia zapasowa z systemem DBCC CHECKDB z opcji naprawy określonej poprawia błędy raportowane.Opcję Napraw, aby użyć jest określona na końcu listy, jeśli raportowane błędy.Poprawianie błędów za pomocą opcji REPAIR_ALLOW_DATA_LOSS może wymagać niektórych stron i w związku z tym dane, można usunąć.

Zestawy wyników

DBCC CHECKFILEGROUP zwraca następujące zestaw wyników (wartości mogą być różne):

  • Z wyjątkiem, gdy określono ESTIMATEONLY lub NO_INFOMSGS.

  • W bieżącej bazie danych jeśli baza danych nie zostanie określony, czy dowolne opcje (z wyjątkiem NOINDEX) są określone.

DBCC results for 'master'.
DBCC results for 'sys.sysrowsetcolumns'.
There are 630 rows in 7 pages for object 'sys.sysrowsetcolumns'.
DBCC results for 'sys.sysrowsets'.
There are 97 rows in 1 pages for object 'sys.sysrowsets'.
DBCC results for 'sysallocunits'.
There are 195 rows in 3 pages for object 'sysallocunits'.

There are 2340 rows in 16 pages for object 'spt_values'.
DBCC results for 'MSreplication_options'.
There are 2 rows in 1 pages for object 'MSreplication_options'.
CHECKFILEGROUP found 0 allocation errors and 0 consistency errors in database 'master'.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

Jeżeli określono wartość NO_INFOMSGS, zwraca DBCC CHECKFILEGROUP:

DBCC execution completed. If DBCC printed error messages, contact your system administrator.

Jeżeli określono wartość ESTIMATEONLY, zwraca DBCC CHECKFILEGROUP (wartości mogą być różne):

Estimated TEMPDB space needed for CHECKALLOC (KB) 
------------------------------------------------- 
15

(1 row(s) affected)

Estimated TEMPDB space needed for CHECKTABLES (KB) 
-------------------------------------------------- 
207

(1 row(s) affected)

DBCC execution completed. If DBCC printed error messages, contact your system administrator.

Uprawnienia

Wymaga członkostwa w sysadmin stała rola serwera lub db_owner rola bazy danychstałej.

Przykłady

A.Sprawdzanie podstawowa grupa plików bazy danych

Następujące kontrole przykład AdventureWorks2008R2 bazy danych podstawowa grupa plików.

USE AdventureWorks2008R2;
GO
DBCC CHECKFILEGROUP;
GO

B.Sprawdzanie podstawowa grupa plików bez ponownego zbudowania indeksów

Następujące kontrole przykład AdventureWorks2008R2 bazy danych podstawowa grupa plików (z wyłączeniem zbudowania indeksów nie klastrowanych) podając numer identyfikacyjny podstawowa grupa plikówi określając NOINDEX.

USE AdventureWorks2008R2;
GO
DBCC CHECKFILEGROUP (1, NOINDEX);
GO

C.Sprawdzanie podstawowa grupa plików z opcjami

Następujące kontrole przykład master bazy danych podstawowa grupa plików i określa opcja ESTIMATEONLY.

USE master;
GO
DBCC CHECKFILEGROUP (1)
WITH ESTIMATEONLY;