当磁盘剩余空间小于百分二十的时候发报警邮件的存储过程。

这是一个SQL存储过程,用于监控磁盘空间。当磁盘剩余空间低于20%时,该过程会通过电子邮件发送报警。它首先通过`usp_sendspacealert`获取磁盘信息,然后使用`xp_cmdshell`执行外部命令获取详细空间数据。如果发现有磁盘空间不足的情况,存储过程将构造HTML格式的邮件内容并通过`msdb.dbo.sp_send_dbmail`发送邮件。
摘要由CSDN通过智能技术生成
 create  proc usp_sendspacealert
 
 as
--此存储需要打开xp_cmdshell执行权限
--定义磁盘剩余空间表
declare @y table (DRIVE varchar(2),FREE_MB INT)
insert into @y exec  master.dbo.xp_fixeddrives
 
--定义磁盘总空间临时信息表
--此步骤通过dos命令diskpart调用输入结果存入临时表中,需要在C:\目录中存在a.txt文件,且a.txt文件内容为"list vol"
declare @x table (volinfo varchar(200))
insert into @x exec xp_cmdshell 'diskpart < c:\a.txt |findstr "Partition" '
delete from @x where volinfo is NULL
 
 
--定义磁盘空间表
declare @z table (DRIVENAME varchar(2),DISKSPACE_GB INT)
insert INTo @z
select substring (volinfo,charindex('volume',volinfo,0)+13,1) AS DRIVENAME,
substring (volinfo,charindex('partition',volinfo,0)+9,
charindex ('GB',volinfo,0)-charindex ('partition',volinfo,0)-9)AS DISKSPACE_GB from @x

--判断是否有剩余空间小于20%的磁盘,如果存储就将结果集以HTML格式发出
if exists

(select a.DRIVE,a.FREE_MB/1024 as FREE_GB,b.DISKSPACE_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值