- PR -

トランザクション実行後の方がファイル容量が小さくなる理由

1
投稿者投稿内容
sand
大ベテラン
会議室デビュー日: 2007/01/15
投稿数: 247
投稿日時: 2007-10-13 08:51
トランザクション実行後の方がファイル容量が小さくなる理由を知りたいです。

1トランザクション実行でDBファイルがどれだけ増えるか調べるため次の方法をとりました。
@トランザクション発行前のDBファイルの容量をメモする。
#DBのファイル(SQLサーバでいうmdfファイル)はアタッチ状態。
Aトランザクションを実行、コミットする。
BDBをデタッチする。
Cトランザクション発行後のDBファイル(デタッチ状態)の容量をメモする
D@とCの容量を比較する
E結果はファイル容量がなぜか@>Cとなった


推測ですが、@でアタッチ状態で計測したことが原因かと。
それにしてもなぜアタッチ状態で計測するとこのような結果になるのかがわかりません。
みなやん
会議室デビュー日: 2004/03/30
投稿数: 11
お住まい・勤務地: 東京都中野区
投稿日時: 2007-10-14 20:26
データベースの自動圧縮モードが絡んでいると思われます。

自動圧縮モードが有効な場合
トランザクション実行中は、データファイルサイズは大きくなりますが、
コミット後に、自動圧縮が行われてデータファイルサイズが小さくなります。

参考になるかわかりませんが、以下のURLを参照ください。
http://support.microsoft.com/kb/315512/ja
1

スキルアップ/キャリアアップ(JOB@IT)