আমি নির্লজ্জভাবে এখান থেকে ছিড়েছি এখানে একটি দুর্দান্ত স্ক্রিপ্ট :
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
এটি ভাল কারণ এটি আপনাকে প্রতিটি ডিবি ফাইলে ফাঁকা জায়গা দেবে (আপনার একাধিক ফাইল থাকতে পারে এবং প্রতিটি এটিতে কিছু বস্তু রাখার জন্য কেউ সেট আপ করেছিলেন) পাশাপাশি বিনামূল্যে আকারও দেয়।
উদাহরণস্বরূপ, আপনার কাছে একটি 4 জিবি ডেটা ফাইল রয়েছে যাতে 3 গিগাবাইট ফাঁকা স্থান রয়েছে। হতে পারে আপনার অনেকগুলি ডেটা ছাড়াই 1 এমডিএফ রয়েছে তবে প্রচুর ডেটা সহ একটি এনডিএফ রয়েছে। এই ক্যোয়ারী আপনাকে প্রতিটি ফাইলের ফ্রি আকার এবং সেই ফাইলটি কী ডিবিতে বরাদ্দ করা হবে তা বলবে। মোট আকার পেতে প্রতিটি ডিবিতে সমস্ত 'SPACE_USED_MB' যুক্ত করার কথা মনে রাখবেন।
শুভকামনা!
সম্পাদনা করুন:
একটি অসমর্থিত এবং বগী কমান্ড সরিয়ে নিয়েছে যা আমি ভেবেছিলাম এই ক্যোয়ারির জন্য এখানে পোস্ট করে আমি পালাতে পারব। :(