• 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