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
查询数据库中所有用户表的使用情况
本文提供了一段 SQL 脚本,用于分析 SQL Server 中每个表的空间使用情况,并将结果插入到 TableSpace 表中。该脚本首先检查 TableSpace 表是否存在,如果存在则删除,然后创建新的 TableSpace 表并填充数据。

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



