Comando DBCC CHECKALLOC
Ya he indicado, en Comandos DBCC de validación, que este comando comprueba la coherencia de las estructuras de
asignación de espacio en disco de una base de datos determinada. Es importante
indicar que se lleva a cabo la comprobación de todas las páginas de la base de
datos, sin importar el tipo de página u objeto al que pertenecen. Asimismo se
efectúa la validación de diversas estructuras internas que se usan para
realizar el seguimiento de las páginas y las relaciones entre ellas.
La sintaxis
de este comando en su forma más simple es:USE database_name;
GO
Como puede apreciarse no se ha especificado una base de datos, por lo que de ésta forma se llevara a cabo la comprobación de las estructuras de la base de datos actual, esto es por omisión se tomara la base de datos que se haya seleccionado, hay que recordar que la base de datos por omisión cuando accedemos a Microsoft SQL Server, ya sea a través de SQL Server Management Studio o de SQLCMD, es master.
La sintaxis que se usa más a menudo es:
Existen algunas opciones que pueden ser utilizadas con el comando, estas opciones son:
Este comando efectuará la comprobación de la base de datos db1 e intentara reparar las páginas permitiendo la perdida de datos.
DBCC
CHECKALLOC;
Como puede apreciarse no se ha especificado una base de datos, por lo que de ésta forma se llevara a cabo la comprobación de las estructuras de la base de datos actual, esto es por omisión se tomara la base de datos que se haya seleccionado, hay que recordar que la base de datos por omisión cuando accedemos a Microsoft SQL Server, ya sea a través de SQL Server Management Studio o de SQLCMD, es master.
La sintaxis que se usa más a menudo es:
USE master;
GO
GO
DBCC
CHECKALLOC (database_name);
Donde: database_name es el nombre de la base de datos que se desea validar.
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.
Existen algunas opciones que pueden ser utilizadas con el comando, estas opciones son:
REPAIR_ALLOW_DATA_LOSS | Intenta reparar los
errores encontrados. Estas reparaciones pueden ocasionar alguna pérdida de
datos. Es necesario que database_name deba estar en modo de usuario único.
|
ALL_ERRORMSGS
|
Muestra todos los
mensajes de error. De forma predeterminada, se muestran todos los mensajes de
error. Especificar u omitir esta opción no tiene ningún efecto.
|
NO_INFOMSGS
|
Suprime todos los
mensajes informativos y el informe del espacio utilizado.
|
TABLOCK
|
Hace que el comando
DBCC obtenga un bloqueo de base de datos exclusivo.
|
ESTIMATEONLY
|
Muestra la cantidad
estimada de espacio de tempdb que se necesita para ejecutar DBCC CHECKALLOC
cuando todas las demás opciones están especificadas.
|
Ejemplos de DBCC CHECKALLOC
Mostraré
algunos ejemplos de uso de este comando:
DBCC CHECKALLOC (db1, REPAIR_ALLOW_DATA_LOSS)Este comando efectuará la comprobación de la base de datos db1 e intentara reparar las páginas permitiendo la perdida de datos.
DBCC CHECKALLOC (db1) WITH ALL_ERRORMSGS
Este
comando efectuará la comprobación de la base de datos db1 mostrando todos los
mensajes de error.
DBCC CHECKALLOC (db1) WITH NO_INFOMSGS
Este comando
efectuará la comprobación 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 CHECKALLOC se incluye en DBCC CHECKDB y DBCC
CHECKFILEGROUP. Esto
significa que no tiene que ejecutar DBCC CHECKALLOC independientemente de estas
instrucciones. DBCC CHECKALLOC no
comprueba los datos de FILESTREAM. FILESTREAM almacena los objetos binarios
grandes (BLBS) en el sistema de archivos.
Comentarios
Si bien, DBCC CHECKALLOC nos permite llevar a
cabo la reparación de alguna página con pérdida de datos, se recomienda llevar
a cabo la restauración de la base de datos a partir de una copia de seguridad que se tenga. Debe tenerse en cuenta que, de no existir una
copia de seguridad, entonces proceda con la reparación, pero recuerde llevar a
cabo la copia de seguridad una vez que ha finalizado con las reparaciones.
No hay comentarios.:
Publicar un comentario