查看数据库表的容量大小

    技术2025-12-08  8

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

    --==============查看数据库表的容量大小========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==================================================

     

     

    Processed: 0.012, SQL: 9