Du kan bruge ALTER TABLE
sætning for at aktivere komprimering på en eksisterende tabel i SQL Server.
For at gøre dette skal du bruge REBUILD WITH
mulighed, mens du angiver din ønskede komprimeringstype.
Eksempel
Her er et eksempel til at demonstrere.
ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = ROW);
I dette tilfælde genopbyggede jeg tabellen ved hjælp af rækkekomprimering.
Følgende genopbygger det med sidekomprimering.
ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = PAGE);
Anvend komprimering på en enkelt partition
Hvis din tabel er partitioneret, kan du angive, at den partition skal genopbygges med komprimering.
ALTER TABLE Cats
REBUILD PARTITION = 1 WITH (DATA_COMPRESSION = ROW);
Sådan fjerner du komprimering
Du kan fjerne komprimeringen ved at bruge NONE
som komprimeringstype.
ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = NONE);
Søjlelagertabeller
Hvis du bruger kolonnelagertabeller (tabeller gemt med et klynget kolonnelagerindeks), gælder ovenstående komprimeringstyper ikke. I dette tilfælde er dine komprimeringsmuligheder COLUMNSTORE
og COLUMNSTORE_ARCHIVE
.
Begrænsninger/restriktioner
Systemtabeller kan ikke aktiveres til komprimering.
Hvis tabellen er en heap (en tabel uden et klynget indeks), skal genopbygningsoperationen for ONLINE
tilstand vil være enkelt gevind. Brug OFFLINE
til en multi-threaded heap-genopbygningsoperation tilstand.
Når du bruger partitionerede tabeller, gælder følgende begrænsninger:
- Du kan ikke ændre komprimeringsindstillingen for en enkelt partition, hvis tabellen har ikke-justerede indekser.
ALTER TABLE <table> REBUILD PARTITION ...
syntaks genopbygger den angivne partition.ALTER TABLE <table> REBUILD WITH ...
syntaks genopbygger alle partitioner.