Puedes usar la ALTER TABLE
instrucción para habilitar la compresión en una tabla existente en SQL Server.
Para hacer esto, necesitas usar el REBUILD WITH
opción, mientras especifica el tipo de compresión deseado.
Ejemplo
Aquí hay un ejemplo para demostrarlo.
ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = ROW);
En este caso, reconstruí la tabla usando compresión de filas.
Lo siguiente lo reconstruye con compresión de página.
ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = PAGE);
Aplicar compresión a una sola partición
Si su tabla está particionada, puede especificar esa partición para reconstruirla con compresión.
ALTER TABLE Cats
REBUILD PARTITION = 1 WITH (DATA_COMPRESSION = ROW);
Cómo eliminar la compresión
Puede eliminar la compresión usando NONE
como el tipo de compresión.
ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = NONE);
Mesas de almacén de columnas
Si usa tablas de almacén de columnas (tablas almacenadas con un índice de almacén de columnas agrupado), los tipos de compresión anteriores no se aplican. En este caso, sus opciones de compresión son COLUMNSTORE
y COLUMNSTORE_ARCHIVE
.
Limitaciones/Restricciones
Las tablas del sistema no se pueden habilitar para la compresión.
Si la tabla es un montón (una tabla sin un índice agrupado), la operación de reconstrucción para ONLINE
el modo será de un solo subproceso. Para una operación de reconstrucción de montón de subprocesos múltiples, use OFFLINE
modo.
Además, al usar tablas particionadas, se aplican las siguientes restricciones:
- No puede cambiar la configuración de compresión de una sola partición si la tabla tiene índices no alineados.
- El
ALTER TABLE <table> REBUILD PARTITION ...
sintaxis reconstruye la partición especificada. - La
ALTER TABLE <table> REBUILD WITH ...
la sintaxis reconstruye todas las particiones.