首页 > 数据库技术 > 详细

sqlserver查看表空间

时间:2019-11-27 09:37:50      阅读:91      评论:0      收藏:0      [点我收藏+]
原文:sqlserver查看表空间

sqlserver 用于查看当前数据库所有表占用空间大小的存储过程

技术分享图片
create procedure dbo.proc_getsize
as
begin
create table #temp
(
   t_id int primary key identity(1,1),
   t_name sysname,                        --表名
   t_rows int,                            --总行数
   t_reserved varchar(50),                --保留的空间总量
   t_data varchar(50),                    --数据总量
   t_indexsize varchar(50),               --索引总量
   t_unused varchar(50)                   --未使用的空间总量
)

exec SP_MSFOREACHTABLE Ninsert into #temp(t_name,t_rows,t_reserved,t_data,t_indexsize,t_unused) exec SP_SPACEUSED ‘‘?‘‘‘

select t_id,t_name,t_rows,t_reserved,t_indexsize,t_unused,t_data,
    case when cast(replace(t_data, KB,‘‘) as float)>1000000 then cast(cast(replace(t_data, KB,‘‘) as float)/1000000 as varchar)+ GB 
        when cast(replace(t_data, KB,‘‘) as float)>1000 then cast(cast(replace(t_data, KB,‘‘) as float)/1000 as varchar)+ MB 
    else t_data end as datasize
from #temp 
order by cast(replace(t_data, KB,‘‘) as float) desc

drop table #temp
end
技术分享图片

 

sqlserver查看表空间

原文:https://www.cnblogs.com/lonelyxmas/p/11939685.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!