Você pode usar o
ALTER TABLE
instrução para habilitar a compactação em uma tabela existente no SQL Server. Para fazer isso, você precisa usar o
REBUILD WITH
opção, enquanto especifica o tipo de compactação desejado. Exemplo
Aqui está um exemplo para demonstrar.
ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = ROW);
Nesse caso, reconstruí a tabela usando compactação de linha.
O seguinte o reconstrói com compactação de página.
ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = PAGE);
Aplicar compactação a uma única partição
Se sua tabela for particionada, você poderá especificar essa partição para reconstruir com compactação.
ALTER TABLE Cats
REBUILD PARTITION = 1 WITH (DATA_COMPRESSION = ROW);
Como remover a compactação
Você pode remover a compactação usando
NONE
como o tipo de compressão. ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = NONE);
Tabelas de coluna
Se você estiver usando tabelas columnstore (tabelas armazenadas com um índice columnstore clusterizado), os tipos de compactação acima não se aplicam. Nesse caso, suas opções de compactação são
COLUMNSTORE
e COLUMNSTORE_ARCHIVE
. Limitações/Restrições
As tabelas do sistema não podem ser habilitadas para compactação.
Se a tabela for um heap (uma tabela sem índice clusterizado), a operação de reconstrução para
ONLINE
o modo será de rosca única. Para uma operação de reconstrução de heap multithread, use OFFLINE
modo. Além disso, ao usar tabelas particionadas, as seguintes restrições se aplicam:
- Você não pode alterar a configuração de compactação de uma única partição se a tabela tiver índices não alinhados.
- A
ALTER TABLE <table> REBUILD PARTITION ...
sintaxe reconstrói a partição especificada. - O
ALTER TABLE <table> REBUILD WITH ...
sintaxe reconstrói todas as partições.