DECLARE @TableInfo TABLE
(
name VARCHAR(50) ,
[rows] int ,
reserved VARCHAR(50) ,
data VARCHAR(50) ,
index_size VARCHAR(50) ,
unused VARCHAR(50)
)
DECLARE @TableName TABLE ( name VARCHAR(50) )
DECLARE @name VARCHAR(50)
INSERT INTO @TableName
( name
)
SELECT o.name
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
WHILE EXISTS ( SELECT 1
FROM @TableName )
BEGIN
SELECT TOP 1
@name = name
FROM @TableName
DELETE @TableName WHERE name=@name
INSERT INTO @TableInfo
( name ,
[rows] ,
reserved ,
data ,
index_size ,
unused
)
EXEC sys.sp_spaceused @name
END
SELECT sum(rows) FROM @TableInfo
本文介绍了一个SQL Server的存储过程,用于查询数据库中各表的空间使用情况,包括行数、预留空间等详细信息,并通过循环逐个处理每个表。
2432

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



