当前位置:Gxlcms > 数据库问题 > 查询数据库中所有表的记录数,所占空间,索引使用空间

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

时间:2021-07-01 10:21:17 帮助过:2人阅读

查询数据库中所有表的记录数,所占空间,索引使用空间 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

 

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

标签:

人气教程排行