@H_404_2@
sp_spaceused
@H_404_2@
@H_404_2@
显示行数、保留的磁盘空间以及当前数据库中的表所使用的磁盘空间,或显示由整个数据库保留和使用的磁盘空间。
@H_404_2@
语法
@H_404_2@
sp_spaceused [[@objname =] 'objname']
@H_404_2@
[,[@updateusage =] 'updateusage']
@H_404_2@
参数
@H_404_2@
[@objname =] 'objname'
@H_404_2@
是为其请求空间使用信息(保留和已分配的空间)的表名。objname 的数据类型是 nvarchar(776),默认设置为 NULL。
@H_404_2@
[@updateusage =] 'updateusage'
@H_404_2@
表示应在数据库内(未指定 objname 时)还是在特定的对象上(指定 objname 时)运行 DBCC UPDATEUSAGE。值可以是 true 或 false。updateusage 的数据类型是 varchar(5),默认设置为 FALSE。
@H_404_2@
返回代码值
@H_404_2@
0(成功)或 1(失败)
@H_404_2@
示例
@H_404_2@
A. 有关表的空间信息
@H_404_2@
下例报告为 titles 表分配(保留)的空间量、数据使用的空间量、索引使用的空间量以及由数据库对象保留的未用空间量。
@H_404_2@
USE pubs
@H_404_2@
EXEC sp_spaceused 'titles'
@H_404_2@
B. 有关整个数据库的已更新空间信息
@H_404_2@
下例概括当前数据库使用的空间并使用可选参数 @updateusage。
@H_404_2@
USE pubs
@H_404_2@
sp_spaceused @updateusage = 'TRUE'
@H_404_2@
不过此方法,只能查看一个表的大小,一个数据库中一般会有多个表,如何一次性查看某数据库的所有表大小呢?
@H_404_2@
@H_404_2@
create table test(
@H_404_2@