Create a vbs file in C; Drive named as disk.vbs
content are given below
Set DiskSet = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("select FreeSpace,Size,Name from Win32_LogicalDisk where DriveType=3")
for each Disk in DiskSet
If (Disk.FreeSpace/Disk.Size) < 0.30 Then
WScript.Echo "Drive " + Disk.Name + " is low on space."
End If
Next
Then Create a Job which will run on your requirement to check sapce and in Step 1 put the below code.
create table ##diskspace (details varchar(1000))
insert into ##diskspace
exec xp_cmdshell 'cscript c:\disk.vbs'
if (select count(*) from ##diskspace where cmd like '%low on space%') > 0
begin
declare @sql varchar(200)
SELECT @sql ='select * from ##diskspace where cmd like ''%low on space%'''
PRINT @SQL
exec master.dbo.xp_sendmail @recipients='Your ID',
@query = @sql,
@subject = 'Disk Space Full'
end
drop table ##DiskSpace
Hope So It is HelpFul 🙂
Regards,
Raj