大規模なパーティション化された時系列テーブルがあり、各パーティションは独自のファイルに格納されています。それは時系列ベースのパーティション分割であり、新しいデータのみを保存しているため、一度にアクティブに書き込むパーティションは2つまでです。データがややランダムに入力されるため、インデックスでFILLFACTORを75に設定しています。
古いデータパーティションはかなりの領域を占有しており、その領域の約60〜70%しか使用していません。上記のパーティションのFILLFACTORを自動的に変更し、インデックスを再構築してファイルを圧縮することは可能ですか?私はそれらのパーティションにもう書いていないので、それらはサイズが元に戻るべきではありません。
はい、可能です。ここに方法があります
これをSQLエージェントジョブで自動化することは、かなり簡単なはずです。
ステップ3は次の順序で行うのが最適です。
また、SQL Server Enterprise Editionを使用している場合は、PAGE
圧縮でデータを圧縮できます。これには別のプロセスが必要です。
ALTER
元のテーブルは、現在空のパーティション(切り替えたパーティション)でページ圧縮を有効にしますSWITCH
圧縮データを元のテーブルに戻します。SQL Server 2014 Enteprise Editionでは、圧縮するパーティションで上記をオンライン操作として直接実行できます。ただし、通常はディスクのデータレイアウトが改善されるため、コピーのセカンダリインデックスを最初に削除することをお勧めします。