Sql-Server

可用驅動器空間和 SQL Server 代理警報

  • November 11, 2020

當 E: 或 H: 上的可用驅動器空間小於 20% 時,我需要收到一封電子郵件

我知道這可以通過設置一個按計劃執行 PowerShell 或 T-SQL 腳本的作業來實現,該作業檢查可用驅動器空間並在驅動器空間不足時發送警報電子郵件

但問題是 - 僅使用警報可以完成相同的任務嗎?

有警報類型SQL Server performance condition alert

是否有Object/Counter可以幫助檢查驅動器空間並在其值“低於”指定門檻值時觸發此警報?

警報

這是作業系統資訊。我認為 SQL 中不會有警報來跟踪驅動器上的剩餘空間。

幾乎所有監控產品都會對此進行監控,並在您達到磁碟空間的特定門檻值時向您發送警報。

如果您沒有任何監控工具,那麼我認為檢查可用空間並發送電子郵件的 SQL 作業似乎是一個不錯的選擇。

這是我用來查看我有數據庫文件的驅動器上有多少可用空間的腳本(它不適用於不託管任何數據庫文件的驅動器)

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

引用自:https://dba.stackexchange.com/questions/279528