Personalmente, creo que como DBA el hecho de borrar datos es algo de por si malo, pero en algunas ocasiones hay que borrar información de manera masiva ya que son parte de los históricos de una base de datos muy grandes. En mi experiencia el borrado de datos se asocia a bases de datos que ocupan varios TB de disco duro.
Comprimir mi base de datos va a generar ciertos problemas como fragmentación de mis índices; con el tiempo he encontrado dos errores frecuentes cuando trato de comprimir archivos de base de datos utilizando el DBCC SHRINKFILE:
- Could not adjust the space allocation for file ‘<file name>’. Este error esta bien documentado en muchos foros, la solucion mas sencilla es modificar el tamaño del archivo que estamos comprimiendo, se le asignan unos cuantos mega bytes mas de su tamaño actual y listo.
- [Cannot use the PAGE granularity hint on the table «<table name>» because locking at the specified granularity is inhibited.], en este caso tenemos que analizar la tabla que nos esta generando el problema, habitualmente esta asociado a tablas sin un primary key o sin un indice clustered. En dado caso tenemos dos opciones:
- Defragmentar los indices de la tabla cuando existe un clustered.
- Crear un primary key para la tabla que nos genera el problema.
Espero les sea util