Můžete použít ALTER TABLE příkaz povolit kompresi na existující tabulce na serveru SQL.
Chcete-li to provést, musíte použít REBUILD WITH a zároveň specifikujte požadovaný typ komprese.
Příklad
Zde je příklad k demonstraci.
ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = ROW); V tomto případě jsem tabulku přestavěl pomocí komprese řádků.
Následující text jej znovu sestaví pomocí komprese stránky.
ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = PAGE); Použít kompresi na jeden oddíl
Pokud je vaše tabulka rozdělena na oddíly, můžete určit oddíl, který se má znovu sestavit pomocí komprese.
ALTER TABLE Cats
REBUILD PARTITION = 1 WITH (DATA_COMPRESSION = ROW); Jak odstranit kompresi
Kompresi můžete odstranit pomocí NONE jako typ komprese.
ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = NONE); Tabulky sloupců
Pokud používáte tabulky columnstore (tabulky uložené s seskupeným indexem columnstore), výše uvedené typy komprese neplatí. V tomto případě jsou možnosti komprese COLUMNSTORE a COLUMNSTORE_ARCHIVE .
Omezení/omezení
U systémových tabulek nelze povolit kompresi.
Pokud je tabulka haldou (tabulkou bez seskupeného indexu), operace opětovného sestavení pro ONLINE režim bude jednovláknový. Pro operaci opětovného sestavení haldy s více vlákny použijte OFFLINE režimu.
Při používání dělených tabulek také platí následující omezení:
- Pokud tabulka obsahuje nezarovnané indexy, nemůžete změnit nastavení komprese jednoho oddílu.
ALTER TABLE <table> REBUILD PARTITION ...syntaxe znovu sestaví zadaný oddíl.ALTER TABLE <table> REBUILD WITH ...syntaxe znovu sestaví všechny oddíly.