Puoi usare ALTER TABLE
istruzione per abilitare la compressione su una tabella esistente in SQL Server.
Per fare ciò, devi usare REBUILD WITH
opzione, specificando il tipo di compressione desiderato.
Esempio
Ecco un esempio da dimostrare.
ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = ROW);
In questo caso ho ricostruito la tabella usando la compressione delle righe.
Quanto segue lo ricostruisce con la compressione della pagina.
ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = PAGE);
Applica la compressione a una singola partizione
Se la tua tabella è partizionata, puoi specificare quella partizione da ricostruire con la compressione.
ALTER TABLE Cats
REBUILD PARTITION = 1 WITH (DATA_COMPRESSION = ROW);
Come rimuovere la compressione
Puoi rimuovere la compressione utilizzando NONE
come tipo di compressione.
ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = NONE);
Tabelle Colonnine
Se utilizzi tabelle columnstore (tabelle archiviate con un indice columnstore cluster), i tipi di compressione sopra indicati non si applicano. In questo caso, le tue opzioni di compressione sono COLUMNSTORE
e COLUMNSTORE_ARCHIVE
.
Limiti/Restrizioni
Le tabelle di sistema non possono essere abilitate per la compressione.
Se la tabella è un heap (una tabella senza un indice cluster), l'operazione di ricostruzione per ONLINE
la modalità sarà a thread singolo. Per un'operazione di ricostruzione dell'heap multi-thread, utilizzare OFFLINE
modalità.
Inoltre, quando si utilizzano tabelle partizionate, si applicano le seguenti restrizioni:
- Non puoi modificare l'impostazione di compressione di una singola partizione se la tabella ha indici non allineati.
- La
ALTER TABLE <table> REBUILD PARTITION ...
la sintassi ricostruisce la partizione specificata. - Il
ALTER TABLE <table> REBUILD WITH ...
la sintassi ricostruisce tutte le partizioni.