این کوئری برای مانیتور کردن فضای دیسک در سرور SQL Server طراحی شده است.
با استفاده از DMV sys.dm_os_volume_stats و sys.master_files، اطلاعات حجم کل، فضای آزاد، فضای مصرفشده و درصد استفاده از هر درایو را نمایش میدهد.
- نمایش حجم کل، فضای آزاد و فضای مصرفشده (به GB)
- محاسبه درصد استفاده و درصد فضای آزاد
- تعیین وضعیت هر درایو (
Good,Warning,Critical) - مرتبسازی بر اساس کمترین فضای آزاد
کافیست کوئری زیر را در محیط SQL Server Management Studio (SSMS) اجرا کنید:
WITH DiskSpace AS (
SELECT DISTINCT
vs.volume_mount_point AS Drive,
vs.total_bytes,
vs.available_bytes
FROM sys.master_files mf
CROSS APPLY sys.dm_os_volume_stats(mf.database_id, mf.file_id) vs
)
SELECT
Drive,
FORMAT(total_bytes / (1024.0 * 1024 * 1024), 'N2') + ' GB' AS TotalSpace,
FORMAT(available_bytes / (1024.0 * 1024 * 1024), 'N2') + ' GB' AS FreeSpace,
FORMAT((total_bytes - available_bytes) / (1024.0 * 1024 * 1024), 'N2') + ' GB' AS UsedSpace,
FORMAT((total_bytes - available_bytes) * 100.0 / total_bytes, 'N2') + '%' AS UsedPercentage,
FORMAT(available_bytes * 100.0 / total_bytes, 'N2') + '%' AS FreePercentage,
CASE
WHEN (available_bytes * 100.0 / total_bytes) < 10 THEN 'Critical'
WHEN (available_bytes * 100.0 / total_bytes) < 20 THEN 'Warning'
ELSE 'Good'
END AS Status
FROM DiskSpace
ORDER BY (available_bytes * 100.0 / total_bytes) ASC;
📊 خروجی نمونه
Drive TotalSpace FreeSpace UsedSpace UsedPercentage FreePercentage Status
C:\ 500 GB 320 GB 180 GB 36.00% 64.00% Good
D:\ 100 GB 15 GB 85 GB 85.00% 15.00% Warning
E:\ 200 GB 8 GB 192 GB 96.00% 4.00% Critical
🇬🇧 English
🎯 Purpose
This query helps you monitor disk usage on your SQL Server instance.
It retrieves volume information from sys.dm_os_volume_stats and sys.master_files to display total, free, and used space per drive, including percentage usage.
🧩 Features
Shows total, free, and used space (in GB)
Calculates usage and free percentages
Displays drive status (Good, Warning, Critical)
Orders drives by free space percentage
⚙️ How to Use
Run this query in SQL Server Management Studio (SSMS):
sql
Copy code
-- Same query as above
📊 Example Output
Drive TotalSpace FreeSpace UsedSpace Used% Free% Status
C:\ 500 GB 320 GB 180 GB 36.00% 64.00% Good
D:\ 100 GB 15 GB 85 GB 85.00% 15.00% Warning
E:\ 200 GB 8 GB 192 GB 96.00% 4.00% Critical
🇸🇦 العربية
🎯 الهدف
هذا الاستعلام مخصص لمراقبة مساحة الأقراص على خادم SQL Server.
يستخدم العرضين الديناميكيين sys.dm_os_volume_stats و sys.master_files لعرض الحجم الكلي، والمساحة الحرة، والمستخدمة، ونسبة الاستخدام لكل قرص.
🧩 الميزات
يعرض الحجم الكلي والمساحة الحرة والمستخدمة (بـ GB)
يحسب النسب المئوية للاستخدام والمساحة الحرة
يحدد حالة كل قرص (Good، Warning، Critical)
يرتب النتائج حسب أقل مساحة حرة
⚙️ طريقة الاستخدام
قم بتشغيل الاستعلام في SQL Server Management Studio (SSMS):
sql
Copy code
-- نفس الاستعلام أعلاه
📊 مثال على المخرجات
القرص المساحة الكلية المساحة الحرة المساحة المستخدمة نسبة الاستخدام نسبة الفراغ الحالة
C:\ 500 GB 320 GB 180 GB 36.00% 64.00% Good
D:\ 100 GB 15 GB 85 GB 85.00% 15.00% Warning
E:\ 200 GB 8 GB 192 GB 96.00% 4.00% Critical
🧠 نکته / Note / ملاحظة
این کوئری نیازی به دسترسی ادمین ندارد و روی تمام نسخههای SQL Server از 2012 به بعد قابل اجراست.
Works on all SQL Server editions (2012+).
يعمل على جميع إصدارات SQL Server من 2012 فصاعدًا.
yaml
Copy code