SqlServer查看各个表所占空间大小的SQL语句
直接创建表存储,这样可以做一个面板即时查看

CREATE TABLE tableSplace(
Table_Name [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
Table_Count [int] NULL,
Pre_Space [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
Use_Space [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
Index_Space [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
NeverUse_Space [varchar](50) COLLATE Chinese_PRC_CI_AS NULL
)

insert into tableSplace(Table_Name , Table_Count , Pre_Space , Use_Space , Index_Space , NeverUse_Space )
exec sp_MSforeachtable "exec sp_spaceused '?'"

select * from tableSplace order by Table_Count desc

KB
select sum(convert(decimal(10,2),replace(Pre_Space ,'KB',''))) from tableSplace

M
select sum(convert(decimal(10,2),replace(Pre_Space ,'KB','')))/1024 from tableSplace

G
select sum(convert(decimal(10,2),replace(Pre_Space ,'KB','')))/1024/1024 from tableSplace


[附件下载]
cbf2022/4/13 1:45:30
select * from tableSplace order by convert(decimal(10,2),replace(use_space ,'KB',''))  desc
12022/3/15 17:29:24
1
访客: