/**********************************************************************************************
-- Title : [2k] 하드 디스크 드라이브 용량 모니터링하기
-- Reference : 웹검색
-- Key word : 하드, 디스크, 드라이브, 용량, xp_fixeddrives
**********************************************************************************************/
declare @MB_Free int
--변수를 선언한다.
create table #FreeSpace(
Drive char(1),
MB_Free int)
--빈공간 정보를 담을 Temp 테이블을 만든다.
insert into #FreeSpace exec master..xp_fixeddrives
--xp_fixeddirves익스텐트프로시저를 통해 각 드라이브의 빈 공간 정보를 담는다.
select @MB_Free = MB_Free from #FreeSpace where Drive = 'C'
--C드라이브의 빈공간을 변수에 담는다.
if @MB_Free < 1024
exec master.dbo.xp_sendmail
@recipients ='ttt@ttt.co.kr',
@subject ='SERVER X - Fresh Space Issue on C Drive',
@message = 'Free space on C Drive has dropped below 1 gig'
--C드라이브 빈공간이 1GB 미만으로 떨어지면 xp_sendmail을 통해 DBA에게 알려준다.
select @MB_Free = MB_Free from #FreeSpace where Drive = 'D'
--D드라이브의 공간을 변수에 담는다.
if @MB_Free < 2048
exec master.dbo.xp_sendmail
@recipients ='ttt@ttt.co.kr',
@subject ='SERVER X - Fresh Space Issue on D Drive',
@message = 'Free space on D Drive has dropped below 2 gig'
--D드라이브 빈공간이 1GB 미만으로 떨어지면 xp_sendmail을 통해 DBA에게 알려준다
-- 공간 보기
select * from #freespace;
drop table #freespace;