您的位置:首页 > 数据库

SQL Server中如何统计数据库中所有用户表所占空间大小?

2012-07-05 14:30 411 查看
脚本:

create table #Data(name varchar(100),row varchar(100),reserved varchar(100),data varchar(100),

index_size varchar(100),unused varchar(100)); create table #DataNew(name varchar(100),row int,reserved int,data int,index_size int,unused int)

declare @name varchar(100);

declare cur cursor for

select name from sysobjects where xtype='u' order by name

open cur

fetch next from cur into @name

while @@fetch_status=0

begin

insert into #data exec sp_spaceused @name

fetch next from cur into @name

end

close cur

deallocate cur

insert into #dataNew select name,convert(int,row) as row,convert(int,replace(reserved,'KB','')) as reserved,convert(int,replace(data,'KB','')) as data,

convert(int,replace(index_size,'KB','')) as index_size,convert(int,replace(unused,'KB','')) as unused from #data ;

select * from #dataNew order by data desc;

drop table #Data;

drop table #DataNew;

结果列说明:

name:表名

row : 表中数据的总行数

reserved:为表保留的空间总量

data:表中的数据所使用的空间总量

index_size:表中的索引所使用的空间总量

unused:为表保留但尚未使用的空间总量
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐