大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说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 N"insert 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
代码100分
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10879.html