以前SQLServerのDBバックアップで、圧縮オプションを入れるとバックアップ容量が大幅に圧縮されバックアップ時間が短縮される記事を書きました。
その後、リストアを何十回としましたが問題も起こっていません。
バックアップと圧縮をSQLServerが同時にやってくれるのでCPUなどのリソースの負荷が
気になっていましたがシステムが極端に遅くなるほどではありませんでした。
※システムの規模にもよるかもですが・・・・
圧縮オプションを入れるデメリットはほぼなくむしろバックアップの時間短縮などの面で
メリットばかりだと思っています。
そこで今回は、SQL Serverのデフォルトで圧縮オプションをONにしておくと、圧縮オプションを入れずにバックアップを取得しても圧縮されるように設定を変更してみようと思います。
この設定を入れると以下のような動きになります。
・DBバックアップの圧縮オプションがデフォルトでONになる。
・圧縮オプションを入れ忘れてもバックアップが圧縮される。
現時点のバックアップオプションの設定を確認する
現在のバックアップオプションの確認方法は以下のSQLを実行すれば確認できます。
※backup compression default
オプションは2019 Expressでは非対応でした。
sp_configure 'backup compression default'
現時点でconfig_valueとrun_valueが0になっているのでデフォルトでは
圧縮オプションは有効になっていません。
そこで以下のSQLを実行して圧縮オプションをデフォルトで有効にします。
EXEC sp_configure 'backup compression default', 1 ;
RECONFIGURE;
GO
もう一度sp_configure ‘backup compression default’を実行して確認します。
設定が変わりました。以上で設定は終了です。再起動も必要ありません。
試しにバックアップを手動で取得
試しに手動でManagement Studioで右クリック→[タスク]→[バックアップ]→[バックアップオプション]で[バックアップの圧縮の設定]を[圧縮]にせずに[既定のサーバー設定を使用する]のまま取得してみました。
結果、
[既定のサーバー設定を使用する]の設定でバックアップをしても問題なく圧縮されました。ちなみに[バックアップを圧縮しない]を選べば、圧縮せずにバックアップを取得することも可能です。
※スクリプト生成では圧縮オプションにCOMPRESSIONは、付かないようです。
逆に圧縮しないに設定してスクリプト生成するとNO_COMPRESSIONが付いていました。
まとめ
DBバックアップの圧縮オプションをデフォルトで有効にすると
- DBバックアップは常に圧縮されるので圧縮オプションを入れ忘れる心配がない。
- バックアップオプションで[バックアップを圧縮しない]またはコマンドでNO_COMPRESSIONにすれば圧縮せずにバックアップを取ることが可能
システム保守などで大容量のデータベースを扱っている場合などは、特に有効な設定だと思います。
コメント