2019-04-02

Tüm Kullanıcı Veritabanlarındaki Tüm Tabloların Boyutunu Bulma

Tüm kullanıcı veritabanlarındaki tüm tabloların KB olarak boyutunu  aşağıdaki T-SQL kod ile bulabilirsiniz:

create table #tmptable(DatabaseName sysname,SchemaName sysname, TableName sysname, RowCounts bigint, TotalSpaceKB bigint, UsedSpaceKB bigint, UnusedSpaceKB bigint)

exec sp_msforeachdb 'if db_id(''?'')>4 begin use [?]
insert into #tmptable
select db_name() as DatabaseName,
s.Name as SchemaName,
t.Name as TableName,
sum(p.rows) as RowCounts,
sum(a.total_pages)*8/1024/1024 as TotalSpaceKB,
sum(a.used_pages)*8/1024/1024 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 i.index_id in(0,1)
group by  s.Name, t.Name
end'

select top 100 * from #tmptable
order by TotalSpaceKB desc

drop table #tmptable

Hiç yorum yok:

.::YASAL UYARI::.

©2004-2019 Mehmet GÜZEL, http://www.mehmetguzel.net/ & http://www.mehmetguzel.com/

Site içeriği kaynak gösterilmek koşuluyla yayınlanabilir. Yazılan yazı ve yorumlar sadece yazı ve yorum sahiplerini bağlar.