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

SQL2000サーバーの各テーブルの容量(~メガバイト等)を確認する方法は、タスクパッドから確認する以外にありますか?出来れば一度にすべてのテーブル容量を、一覧で取得出来るコマンドなどがあれば良いのですが・・・。

A 回答 (4件)

補足です。

早い話が、
「sp_spaceused テーブル名」
でテーブル単位の容量を確認することができますってことです。
前回提示したサンプルは、DB内にあるすべてのテーブルの
容量を1つずつ表示しているというサンプルになります。
ご参考までに。
    • good
    • 0
この回答へのお礼

お礼のお返事が大変遅くなってしまいすみません。
こちらの件、お蔭様で解決いたしました。

ありがとうございました。

お礼日時:2007/10/24 18:23

DBじゃなくて、テーブルでしたか。

失礼しました。
それなら、下記で、できますが、いかがでしょうか?

declare cur cursor for
select [name] from dbo.sysobjects where xtype='U';

declare @tableName nvarchar(1552)

open cur;
fetch next from cur into @tableName;

WHILE @@FETCH_STATUS = 0
BEGIN
exec('sp_spaceused ' + @tableName)
FETCH NEXT FROM cur into @tableName;
END;

CLOSE cur;
DEALLOCATE cur;

後は、このSQLスクリプトをBATファイルなどでキックして
あげるなり、ストアドにするなり、好きにできると思います。
ご参考までに。
    • good
    • 0

すいません、間違いがあったので、訂正します。



SELECT sum(convert(dec(15),size)) * 8 / 1024
FROM [該当DB名].[dbo].sysfiles

よろしくお願いします。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

クエリからやってみましたが、データベースの容量は取得できているようなのですが、
今回知りたい、テーブル一つ一つの容量についてはこのコマンドからは取得できませんでした。

お礼日時:2007/09/02 18:11

コマンドというよりは、容量を取得できるビューがあります。



SELECT sum(convert(dec(15),size)) * 8 / 1024
FROM [pubs].[dbo].sysfiles

これで、なんとかできませんか?
このSQLをストアドか何かにして、DOSコマンドからストアド
呼んであげれば、簡単に容量を取得することができます。

ご参考になれば幸いです。
    • good
    • 0

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

関連するカテゴリからQ&Aを探す