SQL SERVER 查詢所有表大小


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 TOP 20 [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
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM