USE DBName
GO
IF OBJECT_ID('[TableSpace]') IS NOT NULL
DROP TABLE [dbo].[TableSpace]
GO
CREATE TABLE TableSpace
(
TableName VARCHAR(200),
RowsCount INT,
Reserved VARCHAR(200),
Data VARCHAR(200),
Index_size VARCHAR(200),
Unused VARCHAR(200)
)
GO
SET NOCOUNT ON
DECLARE @S VARCHAR(MAX)
DECLARE C CURSOR FOR
SELECT 'INSERT TableSpace EXEC sp_spaceused '+QUOTENAME(name)
FROM sysobjects
WHERE xtype='U'
OPEN C
FETCH NEXT FROM C INTO @S
WHILE @@fetch_status=0
BEGIN
EXEC (@S)
FETCH NEXT FROM C INTO @S
END
CLOSE C
DEALLOCATE C
GO
SET NOCOUNT OFF
--显示结果
SELECT *
FROM TableSpace
WHERE RowsCount>0
ORDER BY tablename