/*创建一张表:表名Data,列名:表名,列数,预留空间,数据占用空间,索引占用空间,剩余空间*/
CREATE TABLE Data
  (
     表名     VARCHAR(100),
     列数     VARCHAR(100),
     预留空间   VARCHAR(100),
     数据占用空间 VARCHAR(100),
     索引占用空间 VARCHAR(100),
     剩余空间   VARCHAR(100)
  )

/*申明变量*/
DECLARE @name VARCHAR(100)
/*申明游标*/
DECLARE cur CURSOR FOR
  SELECT name
  FROM   sysobjects
  WHERE  xtype = 'u'
  ORDER  BY name

OPEN cur --打开游标
FETCH next FROM cur INTO @name --将提取结果代入游标
WHILE @@FETCH_STATUS = 0 --最近一条FETCH语句的标志
  BEGIN
      INSERT INTO data
      EXEC Sp_spaceused @name

      PRINT @name

      FETCH next FROM cur INTO @name --将提取结果代入游标
  END

CLOSE cur --解除游标
DEALLOCATE cur --将游标内容代入最后结果
SELECT *
FROM   data
ORDER  BY 数据占用空间 DESC 

 

posted on 2019-02-18 12:44  zooz  阅读(381)  评论(0编辑  收藏  举报