首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

取得MS SQL 数据库中每个表的记录数及空间占用情况

作者:  时间: 2011-06-17

1、统计一个数据库中每有表的记录总数

    可以通过执行下面的语句得到结果:

select o.name,i.rows from sysobjects o,sysindexes i where o.id=i.id and o.Xtype='U' and i.indid<2 order by i.rows desc,o.name


2、查看数据库或表占用空间大小

    可以通过调用系统存储过程等到结果(具体使用可以查看MS SQL SERVER的帮助说明)
   
    sp_spaceused
    该存储过程不带参数时,得到的是当前库的信息,各列含义如下:

database_name:当前数据库的名称。
database_size:当前数据库的大小。
unallocated space:数据库的未分配空间。


    sp_spaceused '表名称'
    该存储过程带表名称参数时,得到的是表的信息,各列含义如下:

Name:为其请求空间使用信息的表名。
Rows:表中现有的行数。
reserved:表保留的空间总量。
Data:表中的数据所使用的空间量。
index_size:表中的索引所使用的空间量。
Unused:表中未用的空间量。