Udostępnij za pomocą


KATALOG KONTROLNY DBCC (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Sprawdza spójność katalogu w obrębie określonej bazy danych. Baza danych musi być online.

Transact-SQL konwencje składni

Składnia

DBCC CHECKCATALOG
[
    (
    database_name | database_id | 0
    )
]
    [ WITH NO_INFOMSGS ]

Arguments

| database_namedatabase_id | 0

Nazwa lub identyfikator bazy danych, dla której należy sprawdzić spójność katalogu. Jeśli nie określono wartości lub jeśli określono wartość 0, używana jest bieżąca baza danych. Nazwy baz danych muszą być zgodne z regułami dotyczącymi identyfikatorów .

Z OPCJĄ NO_INFOMSGS

Pomija wszystkie komunikaty informacyjne.

Uwagi

Po zakończeniu DBCC CHECKCATALOG polecenia zostanie zapisany komunikat w dzienniku błędów programu SQL Server. Jeśli polecenie DBCC zostanie wykonane pomyślnie, komunikat wskazuje pomyślne ukończenie i czas uruchomienia polecenia. Jeśli polecenie DBCC zatrzymuje się przed ukończeniem sprawdzania z powodu błędu, komunikat wskazuje, że polecenie zostało zakończone, wartość stanu i czas uruchomienia polecenia. W poniższej tabeli wymieniono i opisano wartości stanu, które można uwzględnić w komunikacie.

State Description
0 Zgłoszono błąd 8930. Oznacza to uszkodzenie metadanych, które spowodowało zakończenie polecenia DBCC.
1 Zgłoszono błąd numer 8967. Wystąpił wewnętrzny błąd DBCC.
2 Wystąpił błąd podczas naprawy bazy danych w trybie awaryjnym.
3 Oznacza to uszkodzenie metadanych, które spowodowało zakończenie polecenia DBCC.
4 Wykryto naruszenie potwierdzenia lub dostępu.
5 Wystąpił nieznany błąd, który zakończył polecenie DBCC.

DBCC CHECKCATALOG wykonuje różne kontrole spójności między tabelami metadanych systemowych. DBCC CHECKCATALOG wykorzystuje wewnętrzny migawkę bazy danych, aby zapewnić spójność transakcyjną potrzebną do przeprowadzenia tych kontroli. Aby uzyskać więcej informacji, zobacz Wyświetlanie rozmiaru pliku rozrzedzielonego migawki bazy danych (Transact-SQL) i sekcji użycia wewnętrznej migawki bazy danych DBCC w pliku DBCC (Transact-SQL).

Jeśli migawka nie może zostać utworzona DBCC CHECKCATALOG , należy uzyskać wyłączną blokadę bazy danych, aby uzyskać wymaganą spójność. Jeśli wykryto jakiekolwiek niespójności, nie da się ich naprawić, a baza danych musi zostać przywrócona z kopii zapasowej.

Uwaga / Notatka

Bieg DBCC CHECKCATALOG przeciwko tempdb nie wykonuje żadnych testów. Wynika to z faktu, że ze względu na wydajność migawki bazy danych nie są dostępne w programie tempdb. Oznacza to, że nie można uzyskać wymaganej spójności transakcyjnej. Zrestartuj usługę Database Engine, aby rozwiązać wszelkie tempdb problemy z metadanymi.

Uwaga / Notatka

DBCC CHECKCATALOG nie sprawdza danych FILESTREAM. FILESTREAM przechowuje binarne duże obiekty (BLOBS) w systemie plików.

DBCC CHECKCATALOGjest również uruchamiany jako część DBCC CHECKDB.

Zestawy wyników

Jeśli nie podano bazy danych, DBCC CHECKCATALOG zwraca:

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

Jeśli AdventureWorks2025 jest określona jako nazwa bazy danych, DBCC CHECKCATALOG zwraca:

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

Permissions

Wymaga członkostwa w roli stałego serwera systemowego lub roli db_owner stałej bazy danych.

Przykłady

Poniższy przykład sprawdza integralność katalogu zarówno w bieżącej bazie danych, jak i w samej bazie AdventureWorks2025 danych.

-- Check the current database.
DBCC CHECKCATALOG;
GO
-- Check the AdventureWorks database.
DBCC CHECKCATALOG (AdventureWorks2022);
GO

Zobacz także