导航

获取SQL数据库表空间结构

Posted on 2018-08-24 15:21  高山老王  阅读(317)  评论(0编辑  收藏  举报

if exists(select 1 from tempdb..sysobjects where id=object_id('tempdb..#tabName') and xtype='u')
drop table #tabName
go
create table #tabName(
tabname varchar(100),--表名
rowsNum varchar(100),--表数据行数
reserved varchar(100),--保留大小
data varchar(100),--数据大小
index_size varchar(100),--索引大小
unused_size varchar(100)--未使用大小
)

declare @name varchar(100)
declare cur cursor for
select name from sysobjects where xtype='u' order by name
open cur
fetch next from cur into @name
while @@fetch_status=0
begin
insert into #tabName
exec sp_spaceused @name
--print @name

fetch next from cur into @name
end
close cur
deallocate cur

select
tabname as '表名',
rowsNum as '表数据行数',
reserved as '保留大小',
data as '数据大小',
index_size as '索引大小',
unused_size as '未使用大小'
from #tabName
--where tabName not like 't%'
order by cast(rowsNum as int) desc