トップ回答者
MSSQL2000 での未使用領域の開放

質問
回答
-
未使用領域と言われているのは、sp_spaceused の unused 列の値のことを指しておりますでしょうか。
unused であれば、エクステント内の使用されていない未使用ページの合計サイズとなりますので、開放するためには、インデックスの再構築(DBCC DBREINDEX) を実施する必要がございます。
尚、unused の値が増えるのは異常かと言えば、アプリケーションの作りによっては、増加する場合もありえます。
ですので、データベースにつきましては、日々メンテナンスを実施されることをお勧めいたします。- 回答としてマーク spa tree 2009年8月27日 2:23
-
私の認識では、DBCC Shrinkfile(database) にて開放できる領域は、unallocated space のみであり、unallocated space が 例えば 300MB 程度しかない場合は、300MB しか圧縮することが出来ないと思っています。
具体的に言いますと、DBCC DBREINDEX を実施することにより、データページの並び替えが行われるため、unused 領域(エクステント内の使用されていない未使用ページ)が減少し、未使用のエクステント領域が増加することが期待できます。
また、未使用のエクステント領域が増加することにより、unallocated space 領域が増加します。
つまり、unused が 60GB で、 unallocated space 300MB の場合、DBCC Shrinkfile(database) にて開放できる領域は、300MBであり、60GB 分の領域は開放されないと思います。- 回答としてマーク spa tree 2009年8月27日 2:11
すべての返信
-
こんにちは、nagino です。
SQL Server 2000 自体の機能としては、DBCC SHRINKDATABASE や DBCC SHRINKFILE などで未使用領域を解放できます。
http://technet.microsoft.com/ja-jp/library/aa258287(SQL.80).aspx
http://technet.microsoft.com/ja-jp/library/aa258824(SQL.80).aspx
ただし、SAP は SAP 独自の制限や仕様がありますので、単純に上記コマンドで未使用領域を解放しても問題ないかどうかは何とも言えません。
DB 管理は確か BASIS の担当領域だったと思いますので、担当されている BASIS にご相談されることをお勧めします。
MCITP(Database Developer/Database Administrator)- 回答の候補に設定 Toshiya TSURU 2009年8月14日 8:59
-
未使用領域と言われているのは、sp_spaceused の unused 列の値のことを指しておりますでしょうか。
unused であれば、エクステント内の使用されていない未使用ページの合計サイズとなりますので、開放するためには、インデックスの再構築(DBCC DBREINDEX) を実施する必要がございます。
尚、unused の値が増えるのは異常かと言えば、アプリケーションの作りによっては、増加する場合もありえます。
ですので、データベースにつきましては、日々メンテナンスを実施されることをお勧めいたします。- 回答としてマーク spa tree 2009年8月27日 2:23
-
NOBTAさん
ご回答ありがとうございます。
仰られるとおり、unusedスペースのことです。
以前、インデックスデフラグを行った際にディスク使用量が20%ほど減少しました。
不具合を疑ってしまいましたが、正常だという認識させていただきます。
ありがとうございます。
>ちなみに、 unallocated space の値が 60GB の場合は、nagino-san が言われている DBCC ShrinkDabase コマンドにて開放が可能となります。
とありますが、DBCC SHrinkdatabase にはなにか容量制限のようなものがあるのでしょうか?
spa tree -
私の認識では、DBCC Shrinkfile(database) にて開放できる領域は、unallocated space のみであり、unallocated space が 例えば 300MB 程度しかない場合は、300MB しか圧縮することが出来ないと思っています。
具体的に言いますと、DBCC DBREINDEX を実施することにより、データページの並び替えが行われるため、unused 領域(エクステント内の使用されていない未使用ページ)が減少し、未使用のエクステント領域が増加することが期待できます。
また、未使用のエクステント領域が増加することにより、unallocated space 領域が増加します。
つまり、unused が 60GB で、 unallocated space 300MB の場合、DBCC Shrinkfile(database) にて開放できる領域は、300MBであり、60GB 分の領域は開放されないと思います。- 回答としてマーク spa tree 2009年8月27日 2:11