如何将数据库中所有表列出来,按占用空间大小排序,并显示每个表的占用空间
如何将数据库中所有表列出来,按占用空间大小排序,并显示每个表的占用空间 
 主要是想看看每个表的大小,我知道,单看一个表,可以 
 exec   sp_spaceused   表名   的方式来查看,但是一个一个看太麻烦,有没有办法列出所以表,然后显示每个表的大小。 
 最好可以按占用空间大小排序。 
------解决方案--------------------EXEC sp_MSforeachtable @command1= "sp_spaceused  '? ' "
------解决方案--------------------按照bill024的思路扩展的 
 create table test( 
 name varchar(50), 
 rows int, 
 reserved varchar(20), 
 data varchar(20), 
 index_size varchar(20), 
 unused varchar(20) 
 )   
 set nocount on 
 insert into test 
 EXEC sp_MSforeachtable @command1= "sp_spaceused  '? ' "   
 select * from test order by cast(replace(reserved, 'KB ', ' ') as int) desc   
 drop table test
------解决方案--------------------create table #aa ( Name nvarchar(50),rows nvarchar(50),reserved nvarchar(50),data nvarchar(50) ,index_size nvarchar(50),unused nvarchar(50))   
 insert into #aa EXEC sp_MSforeachtable @command1= "sp_spaceused  '? ' "   
 select * from #aa 
 order by data   
 bill024(咖啡熊) 大哥能不能讲一下 sp_MSforeachtable 的用法,还有 都什么参数?     
------解决方案--------------------参考 
 http://blog.csdn.net/flynetcn/archive/2007/05/30/1631762.aspx