温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Sqlserver查询出所有表的大小使用情况

发布时间:2020-08-09 06:08:12 来源:ITPUB博客 阅读:359 作者:ywxj_001 栏目:关系型数据库
第一种方法:
先查询出源表数据:
select 'insert into @tmp exec sp_spaceused '+name From sys.tables with(nolock)  order by create_date desc;

创建临时表并把查询出来的源表数据insert进入临时表,再查询出来最后临时表里面的数据:
declare @tmp table(tbname varchar(255),tbrows int,reserved varchar(255),datatb varchar(255),index_size varchar(255),unused varchar(255))
insert into @tmp exec sp_spaceused table1
insert into @tmp exec sp_spaceused table2
insert into @tmp exec sp_spaceused table3
insert into @tmp exec sp_spaceused table4
insert into @tmp exec sp_spaceused table5
insert into @tmp exec sp_spaceused table6
insert into @tmp exec sp_spaceused table7
insert into @tmp exec sp_spaceused table8
insert into @tmp exec sp_spaceused table9
insert into @tmp exec sp_spaceused table10
select * from @tmp order by cast(replace(reserved,' KB','') as bigint) desc

得出最后想要的数据结果。

第二种方法:
select 
         tb.name as tbname
         ,ps.reserved_page_count * 8 as KB
         ,ps.row_count
From 
         sys.dm_db_partition_stats ps with(nolock) 
         ,sys.tables tb with(nolock)
where 
         ps.object_id=tb.object_id
         and tb.create_date >= '2017-10-23 21:44:15.010'
order by 
         ps.reserved_page_count desc







向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI