Teknobu

SQL Server: Bir Veritabanının En Büyük Nesnesini Bulmak için Komut Dosyası

SQL Server: Bir Veritabanının En Büyük Nesnesini Bulmak için Komut Dosyası

SQL Server: Bir Veritabanının En Büyük Nesnesini Bulmak için Komut Dosyası

Bu yazıda, bir SQL Server Veritabanının en büyük nesnesini bulmak için bir komut dosyası paylaşıyorum.
Günlük işlerde kullanabileceğimiz herhangi bir kullanışlı komut dosyası bulduğumda, hatasız paylaşıyorum.

Veritabanı temizliği veya bakım faaliyeti yaparken, büyük olasılıkla nesnelerin büyüklüğünü kontrol etmeniz gerekir.

Burada, bir veritabanının en büyük nesnesini bulmak için aşağıdaki komut dosyası kullanılır:

SELECT 
    t.NAME AS TableName
    ,i.name as indexName
    ,sum(p.rows) as RowCounts
    ,sum(a.total_pages) as TotalPages
    ,sum(a.used_pages) as UsedPages
    ,sum(a.data_pages) as DataPages
    ,(sum(a.total_pages) * 8) / 1024 as TotalSpaceMB
    ,(sum(a.used_pages) * 8) / 1024 as UsedSpaceMB 
    ,(sum(a.data_pages) * 8) / 1024 as DataSpaceMB
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
WHERE t.NAME NOT LIKE 'dt%' 
	AND i.OBJECT_ID > 255 
	AND i.index_id <= 1
GROUP BY 
    t.NAME, i.object_id, i.index_id, i.name 
ORDER BY SUM(a.total_pages) DESC
Diğer Yazımız :   SQL SERVER'DAKİ SON DDL DEĞİŞİKLİKLERİ NASIL BULUNUR ?
3 Beğen