您的位置:首页 > 数据库

SQL SERVER 查看表占用空间大小--排除数据库大小异常时特别有用

2017-10-01 08:51 295 查看
二、查看表名和表占用空间信息

--判断临时表是否存在,存在则删除重建

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

 

--系统存储过程说明:

--sp_spaceused 该存储过程在系统数据库master下。

exec sp_spaceused '表名' --该表占用空间信息

exec sp_spaceused           --当前数据库占用空间信息
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: