Megosztás a következőn keresztül:


DBCC CHECKCATALOG (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példány

Ellenőrzi a katalógus konzisztenciáját a megadott adatbázisban. Az adatbázisnak online állapotúnak kell lennie.

Transact-SQL szintaxis konvenciói

Szintaxis

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

Érvek

| database_namedatabase_id | 0

Annak az adatbázisnak a neve vagy azonosítója, amelynek katalóguskonzisztenciáját ellenőrizni szeretné. Ha nincs megadva, vagy ha 0 van megadva, a rendszer az aktuális adatbázist használja. Az adatbázisneveknek meg kell felelniük azonosítókszabályainak.

A NO_INFOMSGS

Letiltja az összes tájékoztató üzenetet.

Megjegyzések

A DBCC CHECKCATALOG parancs befejeződése után a rendszer egy üzenetet ír az SQL Server hibanaplójába. Ha a DBCC parancs sikeresen végrehajtja a parancsot, az üzenet a sikeres befejezést és a parancs futtatásának időtartamát jelzi. Ha a DBCC-parancs hiba miatt leáll az ellenőrzés befejezése előtt, az üzenet azt jelzi, hogy a parancs leállt, egy állapotérték és a parancs futási ideje. Az alábbi táblázat felsorolja és ismerteti az üzenetben szereplő állapotértékeket.

Állam Leírás
0 A 8930-es hibaszám lett előállítva. Ez egy metaadat-sérülést jelez, amely miatt a DBCC parancs leállt.
1 A 8967-es hibaszám ki lett emelve. Belső DBCC-hiba történt.
2 Hiba történt a vészmódú adatbázis javítása során.
3 Ez egy metaadat-sérülést jelez, amely miatt a DBCC parancs leállt.
4 A rendszer érvényességi vagy hozzáférési szabálysértést észlelt.
5 Ismeretlen hiba történt, amely megszakította a DBCC parancsot.

DBCC CHECKCATALOG különböző konzisztencia-ellenőrzéseket végez a rendszer metaadattáblái között. DBCC CHECKCATALOG egy belső adatbázis-pillanatkép használatával biztosítja az ellenőrzések végrehajtásához szükséges tranzakciós konzisztenciát. További információ: Adatbázis-pillanatkép ritka fájljának (Transact-SQL) méretének és DBCC belső adatbázis-pillanatkép-használati szakaszának megtekintése DBCC (Transact-SQL).

Ha egy pillanatkép nem hozható létre, DBCC CHECKCATALOG kizárólagos adatbázis-zárolást szerez be a szükséges konzisztencia beszerzéséhez. Ha bármilyen inkonzisztenciát észlel, azokat nem lehet kijavítani, és az adatbázist biztonsági másolatból kell visszaállítani.

Jegyzet

A DBCC CHECKCATALOGtempdb futtatása nem végez ellenőrzéseket. Ennek az az oka, hogy teljesítménybeli okokból az adatbázis-pillanatképek nem érhetők el tempdb. Ez azt jelenti, hogy a szükséges tranzakciós konzisztencia nem kérhető le. Indítsa újra az Adatbázismotor szolgáltatást a tempdb metaadatokkal kapcsolatos problémák megoldásához.

Jegyzet

DBCC CHECKCATALOG nem ellenőrzi a FILESTREAM-adatokat. A FILESTREAM bináris nagy objektumokat (BLOBS) tárol a fájlrendszerben.

DBCC CHECKCATALOG DBCC CHECKDBrészeként is fut.

Eredményhalmazok

Ha nincs megadva adatbázis, DBCC CHECKCATALOG a következőt adja vissza:

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

Ha AdventureWorks2025 van megadva az adatbázis neveként, DBCC CHECKCATALOG a következőt adja vissza:

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

Engedélyek

A sysadmin rögzített kiszolgálói szerepkörben vagy a db_owner rögzített adatbázis-szerepkörben való tagság szükséges.

Példák

Az alábbi példa az aktuális adatbázisban és a AdventureWorks2025 adatbázisban is ellenőrzi a katalógus integritását.

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

Lásd még: