web-dev-qa-db-ja.com

大きなテーブルを切り捨てた後、DBバックアップの時間とサイズが減少しますか

SQL Server DBの2つのテーブルは、5億行と350GBのデータに相当します。ディスク容量は、バックアップを保持する問題であり、バックアップを実行する時間も同様です。これら2つのテーブルは切り捨てる予定です。

ディスクスペースを再利用するには、トランケート後にDBを縮小し、その後、インデックスの再構築を行ってフラグメント化されたインデックスを修正する必要があることを理解しています。しかし、再構築にかかる時間はわからないので(テストサーバーVMをテストするために起動しています))、その間、増分の増加を探しています。 (縮小して再構築する前)、結果としてバックアップ時間と結果のバックアップファイルサイズ(7z圧縮後)は劇的に減少しますか?

3
Chad Richardson

SQL自体で圧縮されていないSQL Serverバックアップを扱ってからしばらく経ちますが、SQLはデータをバックアップしますが、空き領域はバックアップしません。

述べたように ここ

完全バックアップに含まれるデータは、必ずしもすべてのデータファイルの内容のすべてではありません。バックアップには、データファイルから割り当てられたページのみが含まれます。

TRUNCATEは、データページの割り当てを解除します。データによって消費されるスペースが700GBから350GBに減少した場合、バックアップのサイズは同様に約半分になり、バックアップを実行する時間は実際に同様に短縮されます。

9
RDFozz