Sql Server‘da belli bir veritabanında en büyük tabloları bulmak için aşağıdaki sorguyu çalıştırabiliriz;
DECLARE @TabloBoyutlari TABLE (TabloAdi VARCHAR(50), SatirSayisi INT, AyrilmisAlan VARCHAR(50), KullanilanAlan VARCHAR(50), IndexBoyu VARCHAR(50), KullanilmayanAlan VARCHAR(50))
INSERT INTO @TabloBoyutlari EXECUTE sp_MSforeachtable ‘sp_spaceused [?]’
SELECT TOP 10 * FROM @TabloBoyutlari ORDER BY CONVERT(INT, REPLACE(AyrilmisAlan, ‘ KB’, ‘’)) DESC
Bu sorgu sayesinde ilgili veritabanındaki tabloların,
İlgili tablo için aşağıdaki eşitlik her zaman doğrudur;
Kullanılan Alanı + Index Alanı + Kullanılmayan Alanı = Ayrılmış Alan
Benim bilgisayarımdaki AdventureWorks2008R2 örnek veritabanında yukarıdaki sorguyu çalıştırdığımda, şöyle bir sonuç alıyorum;
Senior Software Engineer, @Microsoft
Ada ve Ege'nin babası ;)
Makale Adedi: 484