千家信息网

sql中怎么查看所有表大小

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,sql中怎么查看所有表大小,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。代码如下:declare @id intdeclare @t
千家信息网最后更新 2026年11月02日sql中怎么查看所有表大小

sql中怎么查看所有表大小,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

代码如下:

declare @id intdeclare @type character(2) declare @pages int declare @dbname sysnamedeclare @dbsize dec(15,0)declare @bytesperpage dec(15,0)declare @pagesperMB dec(15,0)

create table #spt_space( [objid] int null, [rows] int null, [reserved] dec(15) null, [data] dec(15) null, [indexp] dec(15) null, [unused] dec(15) null)

set nocount on

-- Create a cursor to loop through the user tables

declare c_tables cursor forselect id from sysobjects where xtype = 'U'

open c_tables fetch next from c_tables into @id

while @@fetch_status = 0begin /* Code from sp_spaceused */ insert into #spt_space (objid, reserved) select objid = @id, sum(reserved) from sysindexes where indid in (0, 1, 255) and id = @id select @pages = sum(dpages) from sysindexes where indid < 2 and id = @id select @pages = @pages + isnull(sum(used), 0) from sysindexes where indid = 255 and id = @id update #spt_space set data = @pages where objid = @id /* index: sum(used) where indid in (0, 1, 255) - data */ update #spt_space set indexp = (select sum(used) from sysindexes where indid in (0, 1, 255) and id = @id) - data where objid = @id /* unused: sum(reserved) - sum(used) where indid in (0, 1, 255) */ update #spt_space set unused = reserved - ( select sum(used) from sysindexes where indid in (0, 1, 255) and id = @id ) where objid = @id update #spt_space set [rows] = i.[rows] from sysindexes i where i.indid < 2 and i.id = @id and objid = @id fetch next from c_tables into @idend

select TableName = (select left(name,60) from sysobjects where id = objid), [Rows] = convert(char(11), rows), ReservedKB = ltrim(str(reserved * d.low / 1024.,15,0) + ' ' + 'KB'), DataKB = ltrim(str(data * d.low / 1024.,15,0) + ' ' + 'KB'), IndexSizeKB = ltrim(str(indexp * d.low / 1024.,15,0) + ' ' + 'KB'), UnusedKB = ltrim(str(unused * d.low / 1024.,15,0) + ' ' + 'KB')from #spt_space, master.dbo.spt_values dwhere d.number = 1and d.type = 'E'

order by reserved desc

drop table #spt_spaceclose c_tablesdeallocate c_tables

关于sql中怎么查看所有表大小问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

问题 大小 更多 帮助 解答 易行 简单易行 代码 内容 小伙 小伙伴 方法 知识 篇文章 行业 资讯 资讯频道 频道 i. 分析 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 与互联网科技公司 北京互联网科技有限公司 紫鲸互联网科技 互联网金融科技平台 新浪科技互联网 上海万想互联网科技 卓越科技互联网 招聘 互联网科技公司的市场部门 富国互联网科技创新基金 天速互联网络科技有限公司 厦门千工互联网科技有限公司 科技类公司包括互联网吗 南通创西澳互联网科技有限公司 厦门江牛科技互联网 南京一网一红互联网科技有限公司 互联网科技包装股 济南小医互联网科技有限公司招聘 青岛易易互联网科技 互联网科技对化妆品行业 互联网科技大佬云集 互联网科技公司华为 金诺互联网科技 广州紫鲸互联网科技 无锡溥仪互联网科技有限公司 互联网媒体平台算高科技产业 电子科技大学互联网创业大赛 健康食品互联网创新科技园项目 互联网数据科技专业 昆明中奇联合互联网科技 唐山双旺合互联网科技产业园
0