DBCC CHECKCATALOG (Transact-SQL)DBCC CHECKCATALOG (Transact-SQL)

SE APLICA A: síSQL Server síAzure SQL Database noAzure Synapse Analytics (SQL DW) noAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server yesAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Comprueba la coherencia del catálogo en la base de datos especificada.Checks for catalog consistency within the specified database. La base de datos debe en línea.The database must be online.

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxisSyntax

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

ArgumentosArguments

database_name | database_id | 0database_name | database_id | 0
Es el nombre o Id. de la base de datos en la que se va a comprobar la coherencia del catálogo.Is the name or ID of the database for which to check catalog consistency. Si no se especifica o se especifica 0, se utiliza la base de datos actual.If not specified, or if 0 is specified, the current database is used. Los nombres de las bases de datos deben cumplir las reglas de los identificadores.Database names must comply with the rules for identifiers.

WITH NO_INFOMSGSWITH NO_INFOMSGS
Suprime todos los mensajes de información.Suppresses all informational messages.

NotasRemarks

Cuando finaliza el comando DBCC CATALOG, se escribe un mensaje en el registro de errores de SQL ServerSQL Server.After the DBCC CATALOG command finishes, a message is written to the SQL ServerSQL Server error log. Si el comando DBCC se ejecuta correctamente, el mensaje lo indica, así como el tiempo de ejecución del comando.If the DBCC command successfully executes, the message indicates a successful completion and the amount of time that the command ran. Si el comando DBCC se detiene antes de finalizar la comprobación debido a un error, el mensaje indica que el comando se ha cancelado, un valor de estado y el tiempo de ejecución del comando.If the DBCC command stops before completing the check because of an error, the message indicates the command was terminated, a state value, and the amount of time the command ran. En la tabla siguiente se muestran y describen los valores de estado que pueden aparecer en el mensaje.The following table lists and describes the state values that can be included in the message.

StateState DescripciónDescription
00 Se ha generado el error número 8930.Error number 8930 was raised. Indica un daño en los metadatos que provoca la cancelación del comando DBCC.This indicates a metadata corruption that caused the DBCC command to terminate.
11 Se ha generado el error número 8967.Error number 8967 was raised. Error DBCC interno.There was an internal DBCC error.
22 Error durante una reparación de base de datos en modo de emergencia.A failure occurred during emergency mode database repair.
33 Indica un daño en los metadatos que provoca la cancelación del comando DBCC.This indicates a metadata corruption that caused the DBCC command to terminate.
44 Se ha detectado una infracción de acceso o aserción.An assert or access violation was detected.
55 Error desconocido que cancela el comando DBCC.An unknown error occurred that terminated the DBCC command.

DBCC CHECKCATALOG realiza varias comprobaciones de coherencia entre las tablas de metadatos del sistema.DBCC CHECKCATALOG performs various consistency checks between system metadata tables. DBCC CHECKCATALOG utiliza una instantánea de base de datos interna para proporcionar la coherencia transaccional que necesita para realizar estas comprobaciones.DBCC CHECKCATALOG uses an internal database snapshot to provide the transactional consistency that it needs to perform these checks. Para más información, vea Ver el tamaño del archivo disperso de una instantánea de base de datos (Transact-SQL) y la sección "Uso de comandos DBCC en instantáneas internas de la base de datos" de DBCC (Transact-SQL).For more information, see View the Size of the Sparse File of a Database Snapshot (Transact-SQL) and the "DBCC Internal Database Snapshot Usage" section in DBCC (Transact-SQL). Si no se puede crear una instantánea, DBCC CHECKCATALOG adquiere un bloqueo de base de datos exclusivo para obtener la coherencia necesaria.If a snapshot cannot be created DBCC CHECKCATALOG acquires an exclusive database lock to obtain the required consistency. Si se detecta cualquier incoherencia, no se podrá reparar y será necesario restaurar la base de datos a partir de una copia de seguridad.If any inconsistencies are detected, they cannot be repaired and the database must be restored from a backup.

Nota

Al ejecutar DBCC CHECKCATALOG en tempdb, no se realiza ninguna comprobación.Running DBCC CHECKCATALOG against tempdb does not perform any checks. Esto se debe a que, por motivos de rendimiento, las instantáneas de base de datos no están disponibles en tempdb.This is because, for performance reasons, database snapshots are not available on tempdb. Eso significa que no es posible obtener la coherencia transaccional necesaria.This means that the required transactional consistency cannot be obtained. Recicle el servidor para solucionar cualquier problema con los metadatos de tempdb.Recycle the server to resolve any tempdb metadata issues.

Nota

DBCC CHECKCATALOG no comprueba los FILESTREAM datos.DBCC CHECKCATALOG does not check FILESTREAM data. FILESTREAM almacena los objetos binarios grandes (BLBS) en el sistema de archivos.FILESTREAM stores binary large objects (BLOBS) on the file system.

DBCC CHECKCATALOG se ejecuta también como parte de DBCC CHECKDB.DBCC CHECKCATALOG is also run as part of DBCC CHECKDB.

Conjuntos de resultadosResult Sets

Si no se especifica una base de datos, DBCC CHECKCATALOG devuelve:If no database is specified, DBCC CHECKCATALOG returns:

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

Si se especifica AdventureWorks2012AdventureWorks2012 como nombre de la base de datos, DBCC CHECKCATALOG devuelve:If AdventureWorks2012AdventureWorks2012 is specified as the database name, DBCC CHECKCATALOG returns:

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

PermisosPermissions

Debe pertenecer al rol fijo de servidor sysadmin o al rol fijo de base de datos db_owner.Requires membership in the sysadmin fixed server role, or the db_owner fixed database role.

EjemplosExamples

El ejemplo siguiente comprueba la integridad del catálogo tanto en la base de datos actual como en la base de datos AdventureWorks.The following example checks the catalog integrity in both the current database and in the AdventureWorks database.

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

Consulte tambiénSee Also

DBCC (Transact-SQL)DBCC (Transact-SQL)
Tablas del sistema (Transact-SQL)System Tables (Transact-SQL)