En un entorno de SQL Server, cada archivo de base de datos se puede comprimir eliminando las páginas no utilizadas. Aunque el motor de base de datos optimiza la asignación de disco, hay ocasiones en las que los archivos ya no necesitan la cantidad que se les asignó anteriormente. El programa permite la compresión de archivos de base de datos de forma manual y automática después de un tiempo determinado.
Instrucciones
Paso 1
Para la compresión automática, el entorno tiene una base de datos AUTO_SHRINK, cuyo parámetro es suficiente para establecer en ON. Con esta base de datos en el sistema, el motor de base de datos reducirá automáticamente cualquier SQL que tenga espacio libre. Los parámetros se configuran mediante la instrucción ALTER DATABASE, que inicialmente se establece en OFF. Todas las operaciones de compresión automática tienen lugar en segundo plano y no afectan las acciones del usuario en la base de datos.
Paso 2
Las bases de datos de SQL Server se comprimen manualmente mediante la instrucción DBCC SHRINKDATABASE (DBCC SHRINKFILE). Si la instrucción seleccionada no puede reservar espacio en el archivo de registro, se muestra un mensaje informativo que indica la acción necesaria para liberar espacio en el disco.
Paso 3
Con DBCC SHRINKDATABASE, no puede reducir la base de datos a un tamaño menor que el tamaño original. Si la base de datos se creó con un tamaño de 10 MB y luego se expandió a 50 MB, será posible comprimirla solo a 10 MB, incluso si se eliminan todos los datos.
Paso 4
Con DBCC SHRINKFILE, puede comprimir archivos individuales a un tamaño que sea claramente más pequeño que el tamaño inicial. Sin embargo, cada archivo de base de datos deberá comprimirse por separado.
Paso 5
Cuando se utilizan estas instrucciones, los registros de transacciones se reducen automáticamente al tamaño solicitado. El mayor efecto de compresión se logra solo si se realiza después de una operación que crea mucho espacio extra (por ejemplo, dejar caer una mesa).