用SQL统计SQLServe表存储空间大小

    当SQLServer数据库越来越庞大,而其中的表有非常多的时候,想要知道到底是哪些表最耗存储空间,到底该怎样统计各个表的存储大小呢?其实SQLServer提供了一个sp_spaceused的系统存储过程可以实现该功能,下面就是调用的SQL:

  create   table   #tb(表名   sysname,记录数   int 
  ,保留空间   varchar(10),使用空间   varchar(10) 
  ,索引使用空间   varchar(10),未用空间   varchar(10)) 
  
  insert   into   #tb   exec   sp_MSForEachTable   'EXEC   sp_spaceused   ''?''' 
  
  select   *   from   #tb 
  
  go 
  drop   table   #tb  

这样就可以枚举出每个表存储空间的详细使用情况!

你可能感兴趣的:(用SQL统计SQLServe表存储空间大小)