Можете да използвате ALTER TABLE израз за активиране на компресиране на съществуваща таблица в SQL Server.
За да направите това, трябва да използвате REBUILD WITH опция, като посочвате желания тип компресия.
Пример
Ето пример за демонстрация.
ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = ROW); В този случай възстанових таблицата, използвайки компресия на редове.
Следното го възстановява с компресия на страница.
ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = PAGE); Прилагане на компресия към един дял
Ако таблицата ви е разделена на дялове, можете да посочите този дял за повторно изграждане с компресия.
ALTER TABLE Cats
REBUILD PARTITION = 1 WITH (DATA_COMPRESSION = ROW); Как да премахнете компресията
Можете да премахнете компресията, като използвате NONE като тип компресия.
ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = NONE); Таблици с колони
Ако използвате таблици в columnstore (таблици, съхранявани с клъстериран индекс на columnstore), горните типове компресия не се прилагат. В този случай вашите опции за компресиране са COLUMNSTORE и COLUMNSTORE_ARCHIVE .
Ограничения/Ограничения
Системните таблици не могат да бъдат активирани за компресиране.
Ако таблицата е купчина (таблица без клъстериран индекс), операцията за повторно изграждане за ONLINE режимът ще бъде еднопоточно. За операция за повторно изграждане на многонишкова купчина използвайте OFFLINE режим.
Също така, когато използвате разделени таблици, се прилагат следните ограничения:
- Не можете да промените настройката за компресиране на един дял, ако таблицата има неподравнени индекси.
ALTER TABLE <table> REBUILD PARTITION ...синтаксис възстановява посочения дял.ALTER TABLE <table> REBUILD WITH ...синтаксисът възстановява всички дялове.