SELECT Drive,PercentFree FROM (SELECT VS.volume_mount_point AS Drive,
CONVERT(DEC(4,2),CONVERT(DEC(18,0),VS.available_bytes)*100.00/VS.total_bytes) AS PercentFree
,ROW_NUMBER() OVER(PARTITION BY VS.volume_mount_point ORDER BY MF.database_id,MF.[file_id]) RN
FROM sys.master_files MF CROSS APPLY sys.dm_os_volume_stats(MF.database_id, MF.[file_id]) VS) as SP WHERE RN=1 ORDER BY SP.Drive
这是操作系统信息。我认为 SQL 中不会有警报来跟踪驱动器上的剩余空间。
几乎所有监控产品都会对此进行监控,并在您达到磁盘空间的特定阈值时向您发送警报。
如果您没有任何监控工具,那么我认为检查可用空间并发送电子邮件的 SQL 作业似乎是一个不错的选择。
这是我用来查看我有数据库文件的驱动器上有多少可用空间的脚本(它不适用于不托管任何数据库文件的驱动器)