SQL Server 2000でテーブル毎のファイルサイズ一覧取得

システムストアドプロシジャにて、SQL2000のテーブル毎のファイルサイズを求められるようですが、DB内の全てのテーブルをcursorを使って取得・表示する方法、以下の通り。

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1426172799

以下、SQL本体

CREATE TABLE #SPACES
([name][sysname],[rows][bigint],[reserved][varchar](10),
[data][varchar](10),[index_size][varchar](10),[unused][varchar](10))
DECLARE @table sysname

DECLARE C CURSOR LOCAL FOR SELECT name FROM sysobjects WHERE XTYPE='U'
OPEN C
FETCH NEXT FROM C INTO @table
WHILE (@@FETCH_STATUS=0)
BEGIN
INSERT INTO #SPACES EXEC sp_spaceused @table
FETCH NEXT FROM C INTO @table
END
CLOSE C
DEALLOCATE C

SELECT * FROM #SPACES
ORDER BY name

DROP TABLE #SPACES

コメントを残す

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