यहाँ एक अच्छी स्क्रिप्ट है जिसे मैं बेशर्मी से यहाँ से काट रहा हूँ :
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
यह अच्छा है क्योंकि यह आपको प्रत्येक डीबी फ़ाइल में मुफ्त स्थान देगा (आपके पास कई फाइलें हो सकती हैं और शायद किसी ने इसे कुछ वस्तुओं को प्रत्येक में डालने के लिए सेट किया है) और साथ ही साथ मुक्त आकार भी।
उदाहरण के लिए, आपके पास 4GB डेटा फ़ाइल है जिसमें 3GB खाली स्थान है। हो सकता है कि आपके पास बहुत सारे डेटा के बिना 1 MDF है लेकिन बहुत सारे डेटा के साथ एक एनडीएफ है। यह क्वेरी आपको प्रत्येक फ़ाइल में निःशुल्क आकार और उस फ़ाइल को किस DB को आवंटित किया जाता है, बताएगा। कुल आकार प्राप्त करने के लिए प्रत्येक DB के लिए सभी 'SPACE_USED_MB' जोड़ना याद रखें।
सौभाग्य!
संपादित करें:
एक असमर्थित और छोटी गाड़ी कमांड को हटा दिया गया जो मुझे लगा कि मैं इस क्वेरी के लिए यहां पोस्टिंग के साथ दूर हो सकता हूं। :(