/*创建一张表:表名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
本文介绍了一种SQL脚本,用于查询数据库中每个表的空间使用情况,包括预留空间、数据占用空间、索引占用空间及剩余空间。通过创建Data表并使用游标遍历所有表,执行sp_spaceused存储过程,收集并排序展示各表空间信息。
512

被折叠的 条评论
为什么被折叠?



