查看数据库表的容量大小

 把下面语句放入数据库里面执行即可:

--==============查看数据库表的容量大小========start============================================
Create Table #TableSpaceInfo --创建结果存储表  
(
NameInfo NVarchar(50) ,  --表名  
RowsInfo int ,           --行数
Reserved NVarchar(20) ,  --保留空间总量
DataInfo NVarchar(20) ,  --数据总量
Index_Size NVarchar(20) ,--索引总量
Unused NVarchar(20)      --未使用总量
)


Declare @TableName NVarchar(255) --表名称
Declare @CmdSql NVarchar(1000)

Declare Info_Cursor Cursor For
Select o.Name  
From dbo.sysobjects o  
Where objectProperty(o.ID, N'IsTable') = 1 and o.Name not like N'#%%' Order By o.Name

Open Info_Cursor

Fetch Next From Info_Cursor  
Into @TableName

While @@FETCH_STATUS = 0  
Begin
If exists (Select * From dbo.sysobjects Where ID=object_ID(@tablename) and objectProperty(ID, N'IsUserTable') = 1)  
Execute sp_executesql N'Insert Into #TableSpaceInfo Exec sp_Spaceused @TBName', N'@TBName NVarchar(255)', @TBName = @TableName

Fetch Next From Info_Cursor  
Into @TableName  
End

Close Info_Cursor  
Deallocate Info_cursor  
GO


--注:显示数据库信息  
sp_spaceused @UpdateUsage = 'TRUE'

--注:显示表信息  
--Select *  
--From #TableSpaceInfo  
--Order By cast(left(lTrim(rTrim(Reserved)) , len(lTrim(rTrim(Reserved)))-2) As Int) Desc

Select *,
case when cast(replace(DataInfo,' KB','') as float)>1000000 then cast(cast(replace(DataInfo,' KB','') as float)/1048576 as varchar)+' GB' 
when cast(replace(DataInfo,' KB','') as float)>1000 then cast(cast(replace(DataInfo,' KB','') as float)/1024 as varchar)+' MB' 
else DataInfo end as 数据总量

From #TableSpaceInfo  
Order By cast(left(lTrim(rTrim(Reserved)) , len(lTrim(rTrim(Reserved)))-2) As Int) Desc

Drop Table #TableSpaceInfo
--================查看数据库表的容量大小=====end==================================================

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值