begin process at 2010 02 10 02:17:13
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Tâches

 > SQL SERVER : VÉRIFICATION DE L'ESPACE LIBRE SUR LE SERVEUR

SQL SERVER : VÉRIFICATION DE L'ESPACE LIBRE SUR LE SERVEUR


 Information sur la source

Note :
Aucune note
Catégorie :Tâches Classé sous :SQL Server, administration, disque, espace, sql agent Niveau :Initié Date de création :04/11/2007 Date de mise à jour :04/11/2007 20:41:52 Vu :5 691

Auteur : skweeky

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note


 Description

Voici un script qu'il est possible de planifier régulièrement sur un serveur pour être notifié par email en cas de manque d'espace sur l'une des partitions.

Ce script ne fonctionne que sur SQL Server 2005 à condition d'avoir configuré correctement le système d'envoie d'email par SMTP (database mail). Il peut cependant être adapté facilement pour les versions précédente en changeant la référence de sp_send_dbmail par un xp_sendmail (attention paramètres différents).


Source

  • -- 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

 Conclusion

Planifiez ce script via l'Agent SQL de votre serveur (toutes les 15min ou toutes les heures) et attendez de recevoir un email.


 Historique

04 novembre 2007 20:41:52 :
Correction des noms de tables temporaires, certaines préfixées de ## au lieu de #

 Sources du même auteur

SQL SERVER : CONVERSION IP EN CHAÎNE DE TEXTE VERS INTEGER E...
SQL SERVER 2005 : HISTORISER LES PROCÉDURES STOCKÉES D'UNE B...
SQL SERVER 2005 : RECHERCHE DE CHAMPS PAR LEURS NOMS MULTI B...
SQL SERVER 2005 : RÉCUPÉRER LE CONTENU D'UN SCHÉMA XSD
SQL SERVER – AGRÉGER DES CHAMPS VARCHAR

 Sources de la même categorie

SUPPRESSION DE DOUBLONS par maxroucool
SQL SERVER 2000 - VIDER ET COMPACTER TOUTES LES BASES DE DON... par fabrice69
Source avec Zip LISTE DES PAYS DU MONDE EN FRANÇAIS/ANGLAIS DANS UNE BASE SQ... par Joe_le_mort
SQL SERVER 2000 - CREER DES INDEXES SUR UN CHAMP EXISTANT DA... par fabrice69
SQL SERVER 2005 - LISTER LES MODES DE RECUPERATION DE TOUTES... par fabrice69

 Sources en rapport avec celle ci

Source avec Zip (SQL SERVER) REQUÊTE POUR RECHERCHER UN {GUID} DANS TOUS LES... par lassaad83
CRÉATION D'UNE BASE DE DONNÉE AVEC FICHIER DE DONNÉES, JOURN... par fearmaker
RÉINDEXER TOUTES LES TABLES D'UNE BASE DE DONNÉES par pneau
Source avec Zip REQUETES DE DÉSACTIVATION ET DE RÉACTIVATIONS DES CONTRAINTE... par pneau
SQL SERVER 2000 - SUPPRIMER LES ESPACES VIDES EN FIN DE CHAM... par fabrice69

Commentaires et avis

Commentaire de Tsom le 08/12/2008 17:59:04

bonjour cher ami,
c'est exactement ce que je cherchais, que DIEU TE BENISSE.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Administration de donnée [ par nager ] S'il vous plait je suis à la recherche d'un exposé sur "l'administration des bases de données" car j'ai un exposé concernant celà dans une semaine svp Organisation de table [ par christobal ] Bonjour, mon probleme est le suivant. Dans ma zone d'administration je crée des acces en remplisant une table (Administration) composé des champs : lo types [ par catamenia ] Bonjour,Je voudrais stocker en base de donées des texts de taille plus ou moins grande.J'aimerais optimiser l'espace disque utilisé.Y a t'il un type d demandeHELP : Exercices corrigés Administration Oracle [ par karamilano ] slt tt le monde ca va ??j ai un probleme et j aimerais bien que quel qu un puisse m aider j ai essayé de chercher des exercices corrigés dans 1 =&gt;l Access et MySql [ par javalang ] Bonjour !Besoin d'aide, s'il vous plaît.J'ai modifié les paramètres d'administration en ajoutant un 'user' dans le panneau d'administration de EasyPhp sql 2008 [ par zuddap ] Bonjour a tous, voila je vais tenté de vous expliquer mon problème. J'ai une base de donnée sous sql 2005, et je doit la passé sous SQL 2008. Ma quest Espace membre avec lien direct à une gallerie Slideshowpro [ par MrsSpooky ] Hello, J'aimerais créer une zone membre sur mon site. J'ai trouvé pas mal de codes sources d'exemple (je suis débutante[^^confus5]) mais j'ai besoin


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,952 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales