SQL 显示所有表所占存储空间

复制代码
USE master
SELECT
      dbname = DB_NAME(),
      name,
      [已分配MB] = reserved*8/1024,
      [已使用MB] = used*8/1024,
      [未使用MB] = (CASE WHEN reserved > used THEN reserved-used else 0 END)*8/1024,
      [使用率] = (CASE WHEN (reserved <= 0 OR reserved <= used) THEN 100 ELSE (used)*100/reserved END),
      [数据MB] = data*8/1024,
      [索引MB] = (CASE WHEN used > data THEN used-data ELSE 0 END)*8/1024,
      [记录数] = rowcounts
FROM
(
      SELECT
            o.name,
            SUM(p.reserved_page_count) AS reserved,
            SUM(p.used_page_count) AS used,
            SUM(CASE WHEN (p.index_id) < 2 THEN (p.in_row_data_page_count + p.lob_used_page_count + p.row_overflow_used_page_count) ELSE (p.lob_used_page_count + p.row_overflow_used_page_count) END) AS Data,
            SUM(CASE WHEN (p.index_id) < 2 THEN row_count ELSE 0 END) AS rowcounts
      FROM sys.objects o
            INNER JOIN sys.dm_db_partition_stats p
                  ON p.object_id = o.object_id
      --WHERE o.is_ms_shipped = 0
      GROUP BY o.name
) T
ORDER BY [已分配MB] DESC
复制代码

 

posted on   空明流光  阅读(425)  评论(0编辑  收藏  举报

编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示