Hi,
That is a real good solution for calculating table space. However all these days i was using following script:
SET NOCOUNT ON GO IF OBJECT_ID('TEMPDB..#TMP_TBL_FOR_SPACEUSED') IS NOT NULL DROP TABLE #TMP_TBL_FOR_SPACEUSED GO CREATE TABLE #TMP_TBL_FOR_SPACEUSED ( NAME VARCHAR (130), ROWS NUMERIC, RESERVED VARCHAR (20), DATA VARCHAR (20), INDEX_SIZE VARCHAR (20), UNUSED VARCHAR (20))
DECLARE CUR1 CURSOR FOR SELECT NAME FROM SYSOBJECTS WHERE XTYPE = 'U' DECLARE @TAB_NAME AS VARCHAR(256) OPEN CUR1 FETCH NEXT FROM CUR1 INTO @TAB_NAME WHILE @@FETCH_STATUS = 0 BEGIN INSERT INTO #TMP_TBL_FOR_SPACEUSED EXEC SP_SPACEUSED @TAB_NAME FETCH NEXT FROM CUR1 INTO @TAB_NAME END CLOSE CUR1 DEALLOCATE CUR1 SELECT * FROM #TMP_TBL_FOR_SPACEUSED ORDER BY 2 DESC GO IF OBJECT_ID('TEMPDB..#TMP_TBL_FOR_SPACEUSED') IS NOT NULL DROP TABLE #TMP_TBL_FOR_SPACEUSED GO
May not be a good option, still .........
Amit