码迷,mamicode.com
首页 > 数据库 > 详细

查询数据库中所有表的记录数,所占空间,索引使用空间

时间:2015-08-26 13:33:44      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:

常用

--查询数据库中所有表的记录数,所占空间,索引使用空间
 exec sp_MSForEachTable 
 @precommand=Ncreate table ##(表名 sysname,记录数 int,保留空间 Nvarchar(20),使用空间 varchar(20),索引使用空间 varchar(20),未用空间 varchar(20)),
 @command1=Ninsert ## exec sp_spaceused ‘‘?‘‘‘,
 @postcommand=Nselect * from ## order by 记录数 desc
DROP TABLE ##

另一种

create table #tb(表名 sysname,记录数 int,保留空间 varchar(100),使用空间 varchar(100),索引使用空间 varchar(100),未用空间 varchar(100))
insert into #tb exec sp_MSForEachTable EXEC sp_spaceused ‘‘?‘‘‘
select * from #tb
go
SELECT
表名,
记录数,
cast(ltrim(rtrim(replace(保留空间,KB,‘‘))) as int)/1024 保留空间MB,
cast(ltrim(rtrim(replace(使用空间,KB,‘‘))) as int)/1024 使用空间MB,
cast(ltrim(rtrim(replace(使用空间,KB,‘‘))) as int)/1024/1024.00 使用空间GB,
cast(ltrim(rtrim(replace(索引使用空间,KB,‘‘))) as int)/1024 索引使用空间MB,
cast(ltrim(rtrim(replace(未用空间,KB,‘‘))) as int)/1024 未用空间MB
FROM #tb
WHERE cast(ltrim(rtrim(replace(使用空间,KB,‘‘))) as int)/1024 > 0 
--order by 记录数 desc
ORDER BY 使用空间MB DESC
DROP TABLE #tb

 

查询数据库中所有表的记录数,所占空间,索引使用空间

标签:

原文地址:http://www.cnblogs.com/davidhou/p/4759954.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!