Anda dapat menggunakan ALTER TABLE
pernyataan untuk mengaktifkan kompresi pada tabel yang ada di SQL Server.
Untuk melakukan ini, Anda perlu menggunakan REBUILD WITH
pilihan, sambil menentukan jenis kompresi yang Anda inginkan.
Contoh
Berikut ini contoh untuk didemonstrasikan.
ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = ROW);
Dalam hal ini saya membangun kembali tabel menggunakan kompresi baris.
Berikut ini membangunnya kembali dengan kompresi halaman.
ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = PAGE);
Terapkan Kompresi ke Satu Partisi
Jika tabel Anda dipartisi, Anda dapat menentukan partisi tersebut untuk dibangun kembali dengan kompresi.
ALTER TABLE Cats
REBUILD PARTITION = 1 WITH (DATA_COMPRESSION = ROW);
Cara Menghapus Kompresi
Anda dapat menghapus kompresi dengan menggunakan NONE
sebagai jenis kompresi.
ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = NONE);
Tabel Penyimpanan Kolom
Jika Anda menggunakan tabel columnstore (tabel yang disimpan dengan indeks columnstore berkerumun), jenis kompresi di atas tidak berlaku. Dalam hal ini, opsi kompresi Anda adalah COLUMNSTORE
dan COLUMNSTORE_ARCHIVE
.
Batasan/Pembatasan
Tabel sistem tidak dapat diaktifkan untuk kompresi.
Jika tabel adalah heap (tabel tanpa indeks berkerumun), operasi pembangunan kembali untuk ONLINE
mode akan berulir tunggal. Untuk operasi pembangunan kembali tumpukan multi-utas, gunakan OFFLINE
modus.
Juga, saat menggunakan tabel yang dipartisi, batasan berikut berlaku:
- Anda tidak dapat mengubah setelan kompresi dari satu partisi jika tabel memiliki indeks yang tidak sejajar.
- The
ALTER TABLE <table> REBUILD PARTITION ...
sintaks membangun kembali partisi yang ditentukan. ALTER TABLE <table> REBUILD WITH ...
sintaks membangun kembali semua partisi.