ALTER TABLEを使用できます SQLServerの既存のテーブルで圧縮を有効にするステートメント。
これを行うには、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_ARCHIVE 。
制限/制限
システムテーブルの圧縮を有効にすることはできません。
テーブルがヒープ(クラスター化インデックスのないテーブル)の場合、ONLINEの再構築操作 モードはシングルスレッドになります。マルチスレッドヒープ再構築操作の場合は、OFFLINEを使用します モード。
また、パーティションテーブルを使用する場合は、次の制限が適用されます。
- テーブルに整列されていないインデックスがある場合、単一のパーティションの圧縮設定を変更することはできません。
-
ALTER TABLE <table> REBUILD PARTITION ...構文は、指定されたパーティションを再構築します。 -
ALTER TABLE <table> REBUILD WITH ...構文はすべてのパーティションを再構築します。