SQL Server - データベースと物理ディスクの空き容量を確認する方法

データベースファイルの空き容量と物理ディスクの空き容量を確認するために、sysfilesテーブルやxp_fixeddrivesストアドプロシージャなどを利用できます。

データベースファイルの空き容量を確認する方法

SQL Server Management Studio などを使用し、次のSQLを実行します。
SELECT
	 [論理名]
	,[物理ファイル名]
	,[ファイルサイズ(MB)]
	,[最大ファイルサイズ(MB)]
	,[使用量(MB)]
	,[最大ファイルサイズ(MB)] - [使用量(MB)] AS [残容量(MB)]
	,[使用量(MB)] / [最大ファイルサイズ(MB)] * 100 AS [使用率(%)]
	FROM
	(
		SELECT
			 [name] AS [論理名]
			,[filename] AS [物理ファイル名]
			,([size] * 8.0) / 1024.0 AS [ファイルサイズ(MB)]
			,(CASE [maxsize]
				WHEN 0  THEN ([size] * 8.0) / 1024.0
				WHEN -1 THEN NULL
				ELSE ([maxsize] * 8.0) / 1024.0
			  END) AS [最大ファイルサイズ(MB)]
			,(FILEPROPERTY(FILE_NAME(fileid),'SpaceUsed') * 8.0) / 1024.0 AS [使用量(MB)]
		FROM [dbo].[sysfiles]
	) T;
データーベースファイルの空き容量確認
データーベースファイルの空き容量確認
最大ファイルサイズ・残容量・使用率の欄が NULL の場合、物理ディスクに空き領域がある限りサイズが拡張されます。次章の方法で物理ディスクの空き容量を確認してください。

物理ディスクの空き容量を確認する方法

ストアドプロシージャ xp_fixeddrives を実行すると、物理ディスクの空き容量を返します。

SQL Server Management Studio などを使用し、次のSQLを実行します。

EXEC master..xp_fixeddrives;
物理ディスクの空き容量確認
物理ディスクの空き容量確認

参考資料

検証環境