-- Transact-SQL Script to report space used per table in a database
CREATE TABLE #SpaceUsed (name sysname,rows bigint,reserved sysname,data sysname,index_size sysname,unused sysname)
DECLARE @Counter INT
DECLARE 
@Max INT
DECLARE 
@Table sysname
SELECT nameIDENTITY(INT,1,1ROWID
            
INTO #TableCollection
    
FROM sysobjects
    
WHERE xtype 'U'
    
ORDER BY LOWER(name)
SET @Counter 1
SET @Max (
    
SELECT MAX(ROWID
        
FROM #TableCollection)
WHILE (@Counter <= @Max)
    
BEGIN
    SET 
@Table (
        
SELECT name 
            
FROM #TableCollection 
            
WHERE ROWID @Counter)
    
INSERT INTO #SpaceUsed
        
EXECUTE sp_spaceused @Table
        
SET @Counter @Counter 1
    
END
SELECT 

    
FROM #SpaceUsed
DROP TABLE #TableCollection
DROP TABLE #SpaceUsed