- -- Initialisation des paramètres
- DECLARE @destinataires varchar(max)
- DECLARE @corp_msg nvarchar(max)
- DECLARE @seuil_avert int,
- @seuil_crit int
-
- SET @destinataires = 'toto@test.fr'
- SET @seuil_avert = 5190
- SET @seuil_crit = 2048
-
- -- Création d'une table temporaire
- -- pour réceptionner les données d'espace disque
- CREATE TABLE #espace_disque
- (
- drive char(1),
- [MB free] int
- )
-
- -- Execute xp_fixeddrives
- INSERT #espace_disque
- EXEC master..xp_fixeddrives
-
-
- -- Premier seuil
- IF EXISTS ( SELECT *
- FROM #espace_disque
- WHERE [MB free] < @seuil_crit )
- BEGIN
-
- SET @corp_msg = 'Espace disque libre inférieur à '
- + CAST(@seuil_crit as varchar(10))
- + ' Mo sur l''un des disques du server. Voir le détail ci-dessous.'
-
- EXEC msdb.dbo.sp_send_dbmail @recipients = @destinataires,
- @subject = 'Espace disque critique', @body = @corp_msg,
- @importance = 'High', @query = 'EXEC master..xp_fixeddrives'
- END
- ELSE
- BEGIN
- -- Second seuil
- IF EXISTS ( SELECT *
- FROM #espace_disque
- WHERE [MB free] < @seuil_avert)
- BEGIN
- SET @corp_msg = 'Espace disque libre inférieur à '
- + CAST(@seuil_avert as varchar(10))
- + ' Mo sur l''un des disques du server. Voir le détail ci-dessous.'
-
- EXEC msdb.dbo.sp_send_dbmail @recipients = @destinataires,
- @subject = 'Espace disque faible', @body = @corp_msg,
- @importance = 'Normal',
- @query = 'EXEC master..xp_fixeddrives'
- END
- END
-- Initialisation des paramètres
DECLARE @destinataires varchar(max)
DECLARE @corp_msg nvarchar(max)
DECLARE @seuil_avert int,
@seuil_crit int
SET @destinataires = 'toto@test.fr'
SET @seuil_avert = 5190
SET @seuil_crit = 2048
-- Création d'une table temporaire
-- pour réceptionner les données d'espace disque
CREATE TABLE #espace_disque
(
drive char(1),
[MB free] int
)
-- Execute xp_fixeddrives
INSERT #espace_disque
EXEC master..xp_fixeddrives
-- Premier seuil
IF EXISTS ( SELECT *
FROM #espace_disque
WHERE [MB free] < @seuil_crit )
BEGIN
SET @corp_msg = 'Espace disque libre inférieur à '
+ CAST(@seuil_crit as varchar(10))
+ ' Mo sur l''un des disques du server. Voir le détail ci-dessous.'
EXEC msdb.dbo.sp_send_dbmail @recipients = @destinataires,
@subject = 'Espace disque critique', @body = @corp_msg,
@importance = 'High', @query = 'EXEC master..xp_fixeddrives'
END
ELSE
BEGIN
-- Second seuil
IF EXISTS ( SELECT *
FROM #espace_disque
WHERE [MB free] < @seuil_avert)
BEGIN
SET @corp_msg = 'Espace disque libre inférieur à '
+ CAST(@seuil_avert as varchar(10))
+ ' Mo sur l''un des disques du server. Voir le détail ci-dessous.'
EXEC msdb.dbo.sp_send_dbmail @recipients = @destinataires,
@subject = 'Espace disque faible', @body = @corp_msg,
@importance = 'Normal',
@query = 'EXEC master..xp_fixeddrives'
END
END