sql查询磁盘空间并发预警邮件

检测磁盘空间,如果低于设置的预警值则发出一封预警邮件,这样的事情可以用SQL server的作业可以做,关键SQL语句如下例子所示:

 

DECLARE @TableText NVARCHAR(MAX)='' ; --邮件正文
declare @c int=15000 --C盘最低报警15G

if exists (select * from tempdb.dbo.sysobjects where id = object_id(N'tempdb..#aa') and type='U')
drop table #aa
create table #aa
(
pan varchar(50),kj varchar(50)
)

--master.dbo.xp_fixeddrives是检测硬盘空间的系统存储过程,执行结果的磁盘可用空间单位是MB
insert into #aa Exec master.dbo.xp_fixeddrives

if ((select kj from #aa where pan='C')<@c)
begin
set @TableText+='C盘空间不足,剩余空间:'+(select kj from #aa where pan='C')+'M 预警空间:'+Convert(varchar,@c)+'M';
end
drop table #aa;

if(LEN(@TableText)>0)
begin
EXEC msdb.dbo.sp_send_dbmail  --msdb.dbo.sp_send_dbmail 是发邮件的系统存储过程。当然,在用之前,还需要在数据库中设置邮件服务:数据库右击->管理->数据库邮件->右击,配置数据库邮件
@profile_name = 'alertmail',
@recipients = '123@test.com;456@test.com', --收件人,可以是多个,也可以是单个。当多个的时候用分号隔开
@body = @TableText,
@subject = '服务器磁盘空间预警'
end

 

转载于:https://www.cnblogs.com/huyueping/p/9817818.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值