SQLServerでファイルの圧縮 SQLServerでファイルの肥大化

Microsoft SQL Serverでデータベースを作成すると
デフォルトでは復旧モデルが完全になっています。
この完全復旧モデルはとても優れた機能で
データベースが破損したり、消してはいけないような
レコードを消してしまった場合でも、任意の状態に
DBを復元する機能を持っています。
たとえば誤って受注データを削除してしまっても、
それが午後3時であれば、午後2時59分の状態に
DBの内容を戻すことができます。
ただし、完全復旧モデルではDBへの変更履歴を
ldfファイルに延々とため込んでいきます。
また、テーブルからレコードを削除しても
mdfファイルの空きエリアが増えることはあっても
ldfファイルが減ることはなくレコード削除という
履歴で更に肥大します。
データの変更が多いシステムではldfファイルが
数十ギガバイトに肥大してシステム全体の応答速度が
極端に低下したこともありました。
もし、データのバックアップ方針が昨日の状態まで
復元できればいいという程度であれば、深夜の
バッチ処理で完全バックアップを行うことにして、
復旧モデルは「単純」がお勧めです。
「SQL Server Management Studio Express」ならば
データベースのプロパティ -> オプション ->
復旧モデルコンボボックス
で「単純」を選択すればOKです。
また、一度肥大したldfファイルは自動では圧縮しないので
データベースを右クリックして
タスク -> 圧縮 -> ファイル
で圧縮しましょう。

Author: kachi

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です