牛骨文教育服务平台(让学习变的简单)
博文笔记

SQLServer: 如何查看表占用空间大小

创建时间:2014-03-13 投稿人: 浏览次数:4420


--定义表变量
DECLARE @T TABLE
(
	[name]           VARCHAR(max),
	[rows]           INT,
	reserved         VARCHAR(max),
	data_size        VARCHAR(max),
	index_size       VARCHAR(max),
	unused           VARCHAR(max)
)

--将表占用情况存放到表变量
INSERT INTO @T
EXEC sp_MSforeachtable "exec sp_spaceused "?""

SELECT [name],[rows],reserved,data_size,index_size,unused,
	CAST(REPLACE(reserved,"KB","") AS INT)/1024 as reserved_MB,
	CAST(REPLACE([data_size],"KB","") AS INT)/1024 as data_size_MB,
	CAST(REPLACE([index_size],"KB","") AS INT)/1024 as index_size_MB,
	CAST(REPLACE([unused],"KB","") AS INT)/1024 as unused_MB
FROM @T
order by CAST(REPLACE(reserved,"KB","") AS INT) desc


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。