And Expanding on Mohammed Excellent idea:
DECLARE @SQL NVarchar(4000)
if OBJECT_ID('tempdb..#T1') IS NOT NULL
drop table #T1
create table #T1 ([name] varchar(60)
, [rows] varchar(11)
, reserved varchar(11)
, data varchar(11)
, index_size varchar(11)
, unused varchar(11)
, DBName nvarchar(128))
SET @SQL = ' SET NOCOUNT ON '
SELECT @SQL = @SQL + ' INSERT INTO #T1 ([name], [rows], reserved, data , index_size , unused ) EXEC ' + NAME + '..sp_MSforeachtable @command1=''sp_Spaceused''''*'''' '', @replacechar=''*'', @PostCommand='' Update #T1 Set DBName = N'''''+ NAME + ''''' where #T1.DBName IS NULL '' ' + Char(13)
FROM MASTER..Sysdatabases
WHERE dbid > 4 --exclude system databases
EXEC (@SQL)
--Print @SQL
SELECT *
FROM #T1
ORDER BY DBNAME,[Name]
Will give what you want !!!
* Noel