jueves, 12 de octubre de 2017

SQL Server DBCC CHECKCATALOG

Comando DBCC CHECKCATALOG        


Ya he indicado, en Comandos DBCC de validación, que este comando comprueba la coherencia del catálogo en la base de datos especificada, y que la base de datos debe estar en línea. Pero, ¿qué catálogo es ese? Debemos indicar que se trata las tablas de metadatos del sistema, a esas tablas son las que conforman el catálogo. Por lo que se llevan a cabo las comprobaciones de coherencia entre las tablas de metadatos del sistema.
Este comando tiene como sintaxis básica la siguiente:

USE datbase_name;
GO
DBCC CHECKCATALOG;
Este comando lleva a cabo la comprobación de la coherencia del catálogo de la base de datos actual, hay que recordar que la base de datos actual  por omisión cuando accedemos a Microsoft SQL Server, ya sea a través de SQL Server Management Studio  o de SQLCMD, es master, por lo que en caso de que se requiera una base de datos en específico debe indicarse.

La sintaxis que se usa más a menudo es:

USE master;
GO
DBCC CHECKCATALOG (database_name);
Donde, database_name es el nombre de la base de datos que se desea validar el catálogo.  Es importante indicar que aunque se puede indicar el identificador de base de datos (database_id), éste es un número que está asociado al nombre de la base de datos, por lo que es más común el uso del nombre de la base de datos. La sintaxis e información completa de este comando se encuentran en los libros en línea de Microsoft SQL Server.

Solo una opción puede ser utilizada con el comando:
WITH NO_INFOMSGS
Suprime todos los mensajes informativos.

Ejemplos de DBCC CHECKCATALOG


Mostraré algunos ejemplos de uso de este comando:
USE master;
GO
DBCC CHECKCATALOG (db1);


Este comando efectuará la comprobación del catálogo de la base de datos db1.
USE master;
GO
DBCC CHECKCATALOG (db1) WITH NO_INFOMSGS;
Este comando efectuará la comprobación del catálogo de la base de datos db1, sin mostrar los mensajes de lo realizado, solo indicara que el comando termino.

Notas de Microsoft
La funcionalidad de DBCC CHECKCATALOG se incluye en DBCC CHECKDBEsto significa que no tiene que ejecutar DBCC CHECKCATALOG independientemente de estas instrucciones. DBCC CHECKCATALOG no comprueba los datos de FILESTREAM. FILESTREAM almacena los objetos binarios grandes (BLBS) en el sistema de archivos.

Comentarios


Este comando solo comprueba la coherencia del catálogo en la base de datos, por lo que si se detecta cualquier incoherencia, no se podrá reparar y será necesario restaurar la base de datos a partir de una copia de seguridad, ya que como se ha indicado son las tablas de metadatos del sistema.

No hay comentarios.:

Publicar un comentario