Sie können die ALTER TABLE
verwenden -Anweisung zum Aktivieren der Komprimierung für eine vorhandene Tabelle in SQL Server.
Dazu müssen Sie den REBUILD WITH
verwenden Option, während Sie den gewünschten Komprimierungstyp angeben.
Beispiel
Hier ist ein Beispiel zur Veranschaulichung.
ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = ROW);
In diesem Fall habe ich die Tabelle mithilfe der Zeilenkomprimierung neu erstellt.
Im Folgenden wird es mit Seitenkomprimierung neu erstellt.
ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = PAGE);
Komprimierung auf eine einzelne Partition anwenden
Wenn Ihre Tabelle partitioniert ist, können Sie angeben, dass diese Partition mit Komprimierung neu aufgebaut werden soll.
ALTER TABLE Cats
REBUILD PARTITION = 1 WITH (DATA_COMPRESSION = ROW);
Komprimierung entfernen
Sie können die Komprimierung entfernen, indem Sie NONE
verwenden als Komprimierungstyp.
ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = NONE);
Columnstore-Tabellen
Wenn Sie Columnstore-Tabellen verwenden (Tabellen, die mit einem gruppierten Columnstore-Index gespeichert sind), gelten die oben genannten Komprimierungstypen nicht. In diesem Fall sind Ihre Komprimierungsoptionen COLUMNSTORE
und COLUMNSTORE_ARCHIVE
.
Einschränkungen/Einschränkungen
Systemtabellen können nicht für die Komprimierung aktiviert werden.
Wenn die Tabelle ein Heap ist (eine Tabelle ohne einen gruppierten Index), der Neuerstellungsvorgang für ONLINE
Modus wird Single-Thread sein. Verwenden Sie für einen Heap-Wiederherstellungsvorgang mit mehreren Threads OFFLINE
Modus.
Außerdem gelten bei der Verwendung von partitionierten Tabellen die folgenden Einschränkungen:
- Sie können die Komprimierungseinstellung einer einzelnen Partition nicht ändern, wenn die Tabelle nicht ausgerichtete Indizes hat.
- Die
ALTER TABLE <table> REBUILD PARTITION ...
Syntax baut die angegebene Partition neu auf. - Der
ALTER TABLE <table> REBUILD WITH ...
Syntax baut alle Partitionen neu auf.