加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sqlserver 查看表所占磁盘空间

发布时间:2020-12-12 14:43:50 所属栏目:MsSql教程 来源:网络整理
导读:方法1: 可以通过SP_SPACEUSED来查看 sp_spaceused 显示行数、保留的磁盘空间以及当前数据库中的表所使用的磁盘空间,或显示由整个数据库保留和使用的磁盘空间。 语法 sp_spaceused [[ @objname = ] ' objname ' ] [ , [ @updateusage = ] ' updateusage '

方法1:
可以通过SP_SPACEUSED来查看

sp_spaceused

显示行数、保留的磁盘空间以及当前数据库中的表所使用的磁盘空间,或显示由整个数据库保留和使用的磁盘空间。

语法

sp_spaceused [[@objname =] 'objname'] [,[@updateusage =] 'updateusage']

参数

[@objname =] 'objname'

是为其请求空间使用信息(保留和已分配的空间)的表名。objname 的数据类型是 nvarchar(776),默认设置为 NULL。

[@updateusage =] 'updateusage'

表示应在数据库内(未指定 objname 时)还是在特定的对象上(指定 objname 时)运行DBCC UP......

比如要查询部门表的大小,象下面这样查询就可以了:

sp_spaceused 部门表

结果如下:

表名????????? 行数?????? 保留???????????? 空间?????????? 数据空间??????? 索引空间 未用空间
--------------------------------------------------------------------------------------
部门表??? 10040?????? 520 KB??????? 480 KB?????? 16 KB???????????? 24 KB???????? 834 KB

方法2:
此方法可以一次性查看所有表所占空间
CREATE TABLE tb_SpaceInfoTable
(
?? ID int identity(1,1),
?? name sysname,
?? rows char(11),
?? reserved varchar(18),
?? data varchar(18),
?? index_size varchar(18),
?? unused varchar(18)
)
GO

EXEC SP_MSFOREACHTABLE
@COMMAND1 = 'INSERT INTO tb_SpaceInfoTable(name,
?????????????????????????????????????????? rows,
?????????????????????????????????????????? reserved,
?????????????????????????????????????????? data,
?????????????????????????????????????????? index_size,
?????????????????????????????????????????? unused)
????????????? EXEC SP_SPACEUSED ''?'''
GO

SELECT * FROM tb_SpaceInfoTable order by cast(replace(data,' KB','') as decimal(28,0)) desc
GO

?

----------------最简单的方法--------------
create table #t(name varchar(255),rows bigint,reserved varchar(20),data varchar(20),index_size varchar(20),unused varchar(20))
exec sp_MSforeachtable "insert into #t exec sp_spaceused '?'"

select * from #t order by cast(left(ltrim(rtrim(reserved)),len(ltrim(rtrim(reserved)))-2) as int) desc

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读