select
t.NAME as TableName
,s.Name as SchemaName
,p.rows as RowCounts
,sum(a.total_pages) * 8 as TotalSpaceKB
,sum(a.used_pages) * 8 as UsedSpaceKB
,(sum(a.total_pages) - sum(a.used_pages)) * 8 as UnusedSpaceKB
from
sys.tables t
inner join sys.indexes i
on t.OBJECT_ID = i.object_id
inner join sys.partitions p
on i.object_id = p.OBJECT_ID
and i.index_id = p.index_id
inner join sys.allocation_units a
on p.partition_id = a.container_id
left outer join sys.schemas s
on t.schema_id = s.schema_id
where
t.NAME not like 'dt%'
and t.is_ms_shipped = 0
and i.OBJECT_ID > 255
group by
t.Name,
s.Name,
p.Rows
order by
t.Name
Credit: http://stackoverflow.com/questions/7892334/get-size-of-all-tables-in-database
No comments:
Post a Comment