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

SQL Server 取得資料庫檔案資訊:大小、使用量、可用空間與成長設定

     編輯:關於SqlServer

查詢目的

快速掌握目前資料庫各檔案(資料檔 .mdf/.ndf、記錄檔 .ldf)的實體路徑、總大小、已使用空間、剩餘可用空間、可用空間百分比、自動成長增量以及所屬檔案群組,供容量規劃與監控使用。

通用查詢腳本(適用多版本 SQL Server)

SELECT dbf.file_id AS FileID
     , dbf.name AS [FileName]
     , s.filename AS FileLocation
     , CAST(dbf.size/128.0 AS DECIMAL(19,2)) AS FileSizeMB
     , CAST(CAST(FILEPROPERTY(dbf.name, 'SpaceUsed') AS int)/128.0 AS DECIMAL(19,2)) AS SpaceUsedMB
     , CAST(dbf.size/128.0 - CAST(FILEPROPERTY(dbf.name, 'SpaceUsed') AS int)/128.0 AS DECIMAL(19,2)) AS AvailableSpaceMB
     , CAST((dbf.size / 128.0 - (FILEPROPERTY(dbf.name, 'SpaceUsed') / 128.0)) / (dbf.size / 128.0) * 100 AS DECIMAL(19,2)) AS [%FreeSpace]
     , dbf.growth / 128 AS FileGrowthMB
     , f.name AS FilegroupName
FROM sys.database_files dbf
     INNER JOIN sys.sysfiles s ON dbf.name = s.name
     LEFT JOIN sys.filegroups f ON dbf.data_space_id = f.data_space_id
ORDER BY dbf.name;

欄位說明

欄位意義
FileID檔案識別碼
FileName邏輯檔名
FileLocation實體路徑
FileSizeMB總大小 (MB)
SpaceUsedMB已使用 (MB)
AvailableSpaceMB可用空間 (MB)
%FreeSpace可用空間百分比
FileGrowthMB自動成長增量 (MB)
FilegroupName所屬檔案群組

執行結果範例

XXX_standard_data   D:\...\wolf_wanzheng.mdf        2000.00  1286.38  713.63  35.68  0  PRIMARY
XXX_standard_log    D:\...\wolf_wanzheng_2.ldf      157.19     2.47  154.72  98.43  0  NULL
XXX_temp2_data      D:\...\wolf_wanzheng_1.ndf      500.00     0.06  499.94  99.99  0  temp2
XXX_temp2_log       D:\...\wolf_wanzheng_3.ldf      142.88     2.25  140.63  98.43  0  NULL

實務應用建議

  • 定期排程執行並記錄結果,觀察空間成長趨勢。
  • 當 %FreeSpace 低於閾值(如 15%)時觸發警示,提前擴充磁碟或調整成長設定。
  • 記錄檔若長期維持高可用空間,可考慮縮減檔案大小以釋放磁碟。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved