当前位置:Gxlcms > 数据库问题 > MSSQL数据库每个表占用的空间、大小

MSSQL数据库每个表占用的空间、大小

时间:2021-07-01 10:21:17 帮助过:3人阅读

if NOT EXISTS 2 (SELECT * 3 FROM dbo.sysobjects 4 WHERE id = object_id(N[dbo].[tablespaceinfo]) 5 AND OBJECTPROPERTY(id, NIsUserTable) = 1) create table tablespaceinfo --创建结果存储表 (nameinfo varchar(50) , rowsinfo int , reserved varchar(20) , datainfo varchar(20) , index_size varchar(20) , unused varchar(20) ) delete 6 FROM tablespaceinfo --清空数据表 declare @tablename varchar(255) --表名称 declare @cmdsql varchar(500) DECLARE Info_cursor CURSOR FORSELECT o.name 7 FROM dbo.sysobjects o 8 WHERE OBJECTPROPERTY(o.id, NIsTable) = 1 9 AND o.name NOT LIKE N#%% 10 ORDER BY o.name OPEN Info_cursor FETCH NEXT 11 FROM Info_cursor INTO @tablename WHILE @@FETCH_STATUS = 0 BEGIN if EXISTS 12 (SELECT * 13 FROM dbo.sysobjects 14 WHERE id = object_id(@tablename) 15 AND OBJECTPROPERTY(id, NIsUserTable) = 1) execute sp_executesql Ninsert into tablespaceinfo exec sp_spaceused @tbname, N@tbname varchar(255), @tbname = @tablename FETCH NEXT 16 FROM Info_cursor INTO @tablename 17 END CLOSE Info_cursor DEALLOCATE Info_cursor GO --itlearner注:显示数据库信息 sp_spaceused @updateusage = ‘TRUE‘ --itlearner注:显示表信息SELECT * 18 FROM tablespaceinfo 19 ORDER BY cast(left(ltrim(rtrim(reserved)) , len(ltrim(rtrim(reserved)))-2) AS int) DESC

方法二:

1 SELECT object_name(id) tablename,
2         8*reserved/1024 reserved,
3         dpages,
4          rtrim(8*dpages/1024)+Mb used,8*(reserved-dpages)/1024 unused, 8*dpages/1024-rows/1024*minlen/1024 free, rows,*
5 FROM sysindexes a
6 WHERE indid=1
7 ORDER BY  a.reserved DESC 

 

MSSQL数据库每个表占用的空间、大小

标签:表名   ges   creat   color   objects   pen   rom   l数据库   存储   

人气教程排行