查询数据表存储信息【分享】
金蝶云社区-云社区用户4u731234
云社区用户4u731234
4人赞赏了该文章 1,720次浏览 未经作者许可,禁止转载编辑于2017年04月18日 19:39:25

写本帖子目的,是想查询数据库表占用的空间大小,

本帖子是SQL Server数据库上的通用查询脚本(实际是在SQL Server2008 r2上运行通过),

K3Cloud随着系统使用时间的增长,数据库是会不断增大的,
对于数据库文件的不断增大,
我们可以通过查询语句分析下,
哪些表是比较占用空间的,
给进一步的处理做一个参考,

运行效果如下,“蓝海演示帐套”

附上查询sql语句:
[code]/*
测试环境:SQL Server 2008 r2
说明:查询数据表存储信息
by wanghl 2017-4-18
参考:
http://www.cnblogs.com/MyFavorite/archive/2008/07/08/1238513.html
*/
create table #data
(name varchar(255)
,rows bigint
,reserved varchar(20)
,data varchar(20)
,index_size varchar(20)
,unused varchar(20))
exec sp_MSforeachtable "insert into #data exec sp_spaceused '?'"

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

insert into #dataNew
select
name
,convert(int,rows) as rows
,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 [/code]