查询sql数据库中表占用的空间大小

最近给电商客户维护的时候发现数库很大,需要查看数据库表的大小

图片[1]-查询sql数据库中表占用的空间大小-小杨分享
SELECT
t.NAME AS '表名称',
s.Name AS '架构',
p.rows AS '数据条数',
SUM(a.total_pages) * 8 AS '总分配空间KB',
CAST(ROUND(((SUM(a.total_pages) * 8) / 1024.00), 2) AS NUMERIC(36, 2)) AS '总分配空间MB',
SUM(a.used_pages) * 8 AS '数据使用空间KB',
CAST(ROUND(((SUM(a.used_pages) * 8) / 1024.00), 2) AS NUMERIC(36, 2)) AS '数据使用空间MB',
(SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS '未使用空间KB',
CAST(ROUND(((SUM(a.total_pages) - SUM(a.used_pages)) * 8) / 1024.00, 2) AS NUMERIC(36, 2)) AS '未使用空间MB'
,t.modify_date  最后修改时间
FROM
sys.tables t
INNER JOIN 
sys.indexes i ON t.OBJECT_ID = i.object_id
INNER JOIN 
sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
INNER JOIN 
sys.allocation_units a ON p.partition_id = a.container_id
LEFT OUTER JOIN 
sys.schemas s ON t.schema_id = s.schema_id
WHERE
t.NAME NOT LIKE 'dt%' AND t.is_ms_shipped = 0 AND i.OBJECT_ID > 255
GROUP BY 
t.Name 
,s.Name
,p.Rows
,t.modify_date
ORDER BY 
CAST(ROUND(((SUM(a.total_pages) * 8) / 1024.00), 2) AS NUMERIC(36, 2)) DESC

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 共1条
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片