首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

怎么将数据库中所有表列出来,按占用空间大小排序,并显示每个表的占用空间

2012-01-12 
如何将数据库中所有表列出来,按占用空间大小排序,并显示每个表的占用空间如何将数据库中所有表列出来,按占

如何将数据库中所有表列出来,按占用空间大小排序,并显示每个表的占用空间
如何将数据库中所有表列出来,按占用空间大小排序,并显示每个表的占用空间
主要是想看看每个表的大小,我知道,单看一个表,可以
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

热点排行