Project

General

Profile

Check table size.txt

Rashdan Hussin, 23/02/2024 12:31 PM

 
1
select
2
t.NAME AS TableName,
3
s.Name AS SchemaName,
4
p.rows,
5
SUM(a.total_pages) * 8 AS TotalSpaceKB,
6
CAST (Round(((SUM(a.total_pages)* 8)/1024.00),2) AS NUMERIC(36,2)) AS TotalSpaceMB,
7
SUM(a.used_pages) * 8 AS USEDSpaceKB,
8
CAST(Round(((SUM(a.used_pages)*8) /1024.00),2) AS NUMERIC(36,2)) AS UsedSpaceMB,
9
(SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS UnusedSpaceKB,
10
CAST (ROUND(((SUM(a.total_pages) - SUM(a.used_pages))* 8) / 1024.00,2) AS NUMERIC (36,2)) AS UnusdeSpaceMB
11

    
12
FROM sys.tables t
13
inner join sys.indexes i on t.object_id = i.object_ID
14
inner join sys.partitions p on i.object_id= p.object_id
15
inner join sys.allocation_units a on p.partition_id= a.container_id
16
left outer join sys.schemas s on t.schema_id = s.schema_id
17

    
18
where 
19
t.NAME NOT LIKE 'dt%'
20
and t.is_ms_shipped = '0'
21
and i.OBJECT_ID > 255
22

    
23
group by t.Name, s.Name, p.Rows
24
order by TotalSpaceMB DESC, t.Name