查询数据库中表的空间使用情况

  1. USE [数据库]
  2. SELECT a3.name AS [Schema 名称],
  3.     a2.name AS [表名称],
  4.     a1.rows as 记录条数,
  5.     (a1.reserved + ISNULL(a4.reserved,0))* 8 AS [保留空间(K)],
  6.     a1.data * 8 AS [数据使用空间(k)],
  7.     (CASE WHEN (a1.used + ISNULL(a4.used,0)) > a1.data 
  8.     THEN (a1.used + ISNULL(a4.used,0)) - a1.data 
  9.     ELSE 0 END) * 8 AS [索引使用空间(k)],
  10.     (CASE WHEN (a1.reserved + ISNULL(a4.reserved,0)) > a1.used 
  11.     THEN (a1.reserved + ISNULL(a4.reserved,0)) - a1.used 
  12.     ELSE 0 END) * 8 AS [未用空间(k)],
  13.     a1.data * 8*1024/(CASE WHEN a1.Rows=0 THEN 1 ELSE a1.Rows END) 平均每条记录长度
  14.     FROM
  15.         (
  16.         SELECT
  17.         ps.object_id,
  18.         SUM (
  19.         CASE
  20.         WHEN (ps.index_id < 2) THEN row_count
  21.         ELSE 0
  22.         END
  23.         ) AS [rows],
  24.         SUM (ps.reserved_page_count) AS reserved,
  25.         SUM (
  26.         CASE
  27.         WHEN (ps.index_id < 2) THEN 
  28.         (ps.in_row_data_page_count + ps.lob_used_page_count + ps.row_overflow_used_page_count)
  29.         ELSE (ps.lob_used_page_count + ps.row_overflow_used_page_count)
  30.         END
  31.         ) AS data,
  32.         SUM (ps.used_page_count) AS used
  33.         FROM sys.dm_db_partition_stats ps
  34.         GROUP BY ps.object_id) AS a1
  35.         LEFT OUTER JOIN
  36.             (
  37.             SELECT
  38.             it.parent_id,
  39.             SUM(ps.reserved_page_count) AS reserved,
  40.             SUM(ps.used_page_count) AS used
  41.             FROM sys.dm_db_partition_stats ps
  42.             INNER JOIN sys.internal_tables it ON (it.object_id = ps.object_id)
  43.             WHERE it.internal_type IN (202,204)
  44.             GROUP BY it.parent_id
  45.             ) AS a4 ON (a4.parent_id = a1.object_id)
  46.     INNER JOIN sys.all_objects a2  ON ( a1.object_id = a2.object_id )
  47.     INNER JOIN sys.schemas a3 ON (a2.schema_id = a3.schema_id)
  48.     WHERE a2.type <> N'S' and a2.type <> N'IT'
  49.     ORDER BY [保留空间(K)] DESC

转载于:https://www.cnblogs.com/accumulater/p/6101195.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值