/*创建一张表:表名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