İşte utanmadan buradan söktüğüm iyi bir senaryo :
use [Insert DB Name]
select
a.FILEID,
[FILE_SIZE_MB] =
convert(decimal(12,2),round(a.size/128.000,2)),
[SPACE_USED_MB] =
convert(decimal(12,2),round(fileproperty(a.name, 'SpaceUsed')/128.000,2)),
[FREE_SPACE_MB] =
convert(decimal(12,2),round((a.size-fileproperty(a.name, 'SpaceUsed'))/128.000,2)) ,
NAME = left(a.NAME,15),
FILENAME = left(a.FILENAME,30)
from
dbo.sysfiles a
Bu iyi çünkü her DB dosyasındaki boş alanı verecektir (birden fazla dosyaya sahip olabilirsiniz ve belki de birisi her birine bazı nesneler koymak için ayarlanmış olabilir) ve ücretsiz boyut.
Örneğin, 3 GB boş alana sahip 4 GB veri dosyanız var. Belki çok fazla veriye sahip olmayan 1 MDF'ye, ancak çok fazla veriye sahip bir NDF'ye sahipsiniz. Bu sorgu size her dosyadaki boş boyutu ve bu dosyanın hangi DB'ye tahsis edildiğini söyleyecektir. Toplam boyutu elde etmek için her DB için tüm 'SPACE_USED_MB' yi eklemeyi unutmayın.
İyi şanslar!
Düzenleme:
Bu sorgu için burada gönderme ile kurtulmak düşündüm desteklenmeyen ve buggy bir komut kaldırıldı. :(