关闭

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

发表于:2013-5-03 09:21

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:NewSea    来源:51Testing软件测试网采编

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

  sp_spaceused

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

  语法

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

  参数

  [@objname =] 'objname'

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

  [@updateusage =] 'updateusage'

  表示应在数据库内(未指定 objname 时)还是在特定的对象上(指定 objname 时)运行 DBCC UPDATEUSAGE。值可以是 true 或 false。updateusage 的数据类型是 varchar(5),默认设置为 FALSE。

  返回代码值

  0(成功)或 1(失败)

  示例

  A、有关表的空间信息

  下例报告为 titles 表分配(保留)的空间量、数据使用的空间量、索引使用的空间量以及由数据库对象保留的未用空间量。

  USE pubs
  EXEC sp_spaceused 'titles'

  B、有关整个数据库的已更新空间信息

  下例概括当前数据库使用的空间并使用可选参数 @updateusage。

  USE pubs

  sp_spaceused @updateusage = 'TRUE'

  不过此方法,只能查看一个表的大小,一个数据库中一般会有多个表,如何一次性查看某数据库的所有表大小呢?

  第一种方法(较简单,看的有些吃力):

  exec sp_MSforeachtable "exec sp_spaceused '?'"

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号