差分バックアップとログバックアップの比較

SQL Server のバックアップには、「完全 (FULL)」と「差分 (DIFF)」、「ログ (LOG)」があります。差分とログバックアップは完全バックアップの後に実行しますが、どちらを優先して使うのがいいのでしょうか。

結論から言えば、要件に依存するというつまらない回答になります。一般的には「FULL - LOG - LOG - LOG - DIFF - LOG - LOG - FULL - ……」のような形が多いようです。

DB の容量が少ない場合は、完全バックアップだけでもよいでしょう。不必要に複雑な手順は、何のメリットももたらさないばかりか、手間と失敗のリスクというデメリットのみをもたらしてしまいます。

バックアップに時間がかかるようになったら、初めて差分やログバックアップを検討します。差分を多用する方が簡単*1 ですが、ログ切り捨てが行われないという問題があります*2。そのため、一般的な形「FULL - LOG - LOG - LOG - DIFF - LOG - LOG - FULL - ……」を採用するのが使いやすいでしょう。

(ほかの方法としては、複数ファイルグループを使って……という方法もありますが、これも管理が複雑になってくるのでトレードオフになります。)

どちらにせよ、障害発生時には末尾ログをバックアップして復元してあげる必要があります。要注意。 *3

SQL Server は詳しくないので、間違っていたらコメントください。

*1:差分バックアップは前回までの分が含まれるが、ログバックアップは前回分が含まれないのでバックアップの数だけ復元を繰り返す必要があるため

*2:データベースの復元モデルに完全を選んでいる場合

*3:完全復旧モデルのキモとなるのが末尾ログバックアップといってもよいので、バックアップするつもりがないのであれば、単純復旧モデルを検討してください。