首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 查詢伺服器磁碟剩餘空間:xp_fixeddrives 快速腳本

     編輯:關於SqlServer

利用未文件化但實用的擴展預存程序 xp_fixeddrives,搭配暫存表即可快速取得各磁碟機剩餘空間(MB/GB)。

腳本

DECLARE @tb1 TABLE (drive VARCHAR(20), [MB 可用空間] VARCHAR(20));
INSERT INTO @tb1 EXEC master.dbo.xp_fixeddrives;

SELECT drive,
       CAST(CAST((CAST([MB 可用空間] AS DECIMAL(9,2)) / 1024) AS DECIMAL(9,2)) AS VARCHAR) + 'G' AS 剩餘空間
FROM @tb1;

說明

  • xp_fixeddrives 回傳兩欄:磁碟機代號、剩餘 MB(整數)。
  • 腳本轉換為 GB 並保留兩位小數,方便閱讀。
  • 需 sysadmin 權限執行。

替代方案(SQL Server 2008 R2 SP1+)

SELECT DISTINCT
    vs.volume_mount_point AS 驅動器,
    CAST(vs.available_bytes / 1024.0 / 1024 / 1024 AS DECIMAL(10,2)) AS 剩餘_GB
FROM sys.master_files mf
CROSS APPLY sys.dm_os_volume_stats(mf.database_id, mf.file_id) vs;

此法不需特殊權限,且可見掛載點路徑,建議優先使用。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved