返回当前数据库中所有用户表的使用空间列表

 --返回当前数据库中所有用户表的使用空间列表
--create PROC tablespace_list
--AS
--SET NOCOUNT ON

DECLARE @tblcount INT     --表的个数
    ,@tblname VARCHAR(60) --表名
--用于存放最终结果的表变量
DECLARE @result TABLE (表名 VARCHAR(40),
        行数 VARCHAR(11),
        预申请空间      VARCHAR(15) NULL,
        数据占用空间     VARCHAR(15) NULL,
        索引占用空间     VARCHAR(15) NULL,
        空闲              VARCHAR(15) NULL
        );
--用于存放所有表名的表变量
DECLARE @tbl TABLE (tblname VARCHAR(256),
       id INT IDENTITY(1,1) NOT NULL
       );

--将当前库中所有的表名存入表变量@tbl
INSERT INTO @tbl
SELECT '['+b.name+'].['+a.name+']' AS tblname 
FROM sys.all_objects a join sys.schemas b
ON    a.schema_id=b.schema_id
WHERE a.type='U'

--获得当前库中表的个数
SELECT @tblcount=MAX(id) FROM @tbl

WHILE @tblcount>0
BEGIN
SELECT @tblname=tblname FROM @tbl WHERE id=@tblcount
INSERT INTO @result EXEC ('EXEC SP_SPACEUSED ' +'"'+@tblname+'"')
SET @tblcount=@tblcount-1
END

SELECT * FROM @result ORDER BY CONVERT(INT,REPLACE(预申请空间,'kb','')) DESC
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值