アプリ版:「スタンプのみでお礼する」機能のリリースについて

SQL server 2005・メンテナンスプランに関する質問です。
SQL server 2005において、メンテナンスプランで毎日データベースの圧縮と
バックアップ、不要データの削除を行っています。
不要データ削除により、バックアップファイルは日に日に小さくなって おり、
メンテナンスプラン開始日より約7GB小さくなっているのですが、 肝心の
データベース本体(mdfファイル)は全く小さくなっていません。
データベースを右クリックし、タスク-圧縮を選ぶと、使用可能な空き領域が
7GBと表示されるので、不要データの削除により空き領域は増えているもの
の、メンテナンスプランの圧縮時にその空き領域の解放が行われていない
ようです。

そこで、質問ですが、メンテナンスプランの圧縮タスクで空き領域を解放する
には下記の設定以外に何か特別な設定が必要なのでしょうか?
圧縮後に残す空き領域は10%、解放された領域はオペレーティングシステム
に返すよう設定しています。

※SQLのログで気になるのは、圧縮のメンテナンスプランは毎日実行され、
正常に実行されましたと記述されているのですが、実行時間が数十秒しか
かかっていないのです。
20GBのデータベースの圧縮で数十秒しかかかっていないというのは実際には
正常に実行されていないのでしょうか?
よろしくお願いします。

A 回答 (1件)

T-SQLの表示で、コマンドがどうなっているか確認してください。



http://msdn.microsoft.com/ja-jp/library/ms190488 …

手元で確認したところ、「解放された領域はオペレーティングシステム
に返す」を指定するとTRUNCATEONLYになるようです。
これだとファイルのデータが入っている末尾を切り捨てるだけなので、状況によっては
ファイルサイズは小さくなりません。データが後ろの方に存在しそのデータが消されない場合とか。これはあり得るケースです。

確実なのは、NOTRUNCATEをやってからTRUNCATEONLYをすればファイルは小さくなるかと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!