IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration SQL Server Discussion :

[2K5] Comment n'être notifié qu'une fois par jour de l'exécution d'un travail horaire


Sujet :

Administration SQL Server

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 572
    Points : 341
    Points
    341
    Par défaut [2K5] Comment n'être notifié qu'une fois par jour de l'exécution d'un travail horaire
    Bonjour,

    Dans SQL Server Management Studio, après m'être connecté au Moteur de Bases de Données, dans SQL Server Agent, dans les Travaux et les Propriétés d'un Travail, sur la page Notifications, on peut choisir d'être notifié par mail une fois que le travail est terminé.
    Si le travail s'effectue toutes les heures on est notifié toutes les heures, ce qui peut être gênant. Comment faire pour n'être notifié que pour une exécution du travail en particulier, par exemple celle de 7h du matin ?

    a+, =)
    -=Clément=-

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 739
    Points : 52 451
    Points
    52 451
    Billets dans le blog
    5
    Par défaut
    évitez d'être notifié pour les réussites. Ne notifiez que les échecs. De plus ajouter un opérateur de prévention de défaillance de l'agent SQL ce qui vous avertira si vos travaux d'agent ne sont pas exécuté suite à l'indisponibilité de l'agent SQL (par exemple service arrêté par erreur).

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 572
    Points : 341
    Points
    341
    Par défaut
    Merci,
    Citation Envoyé par SQLpro Voir le message
    évitez d'être notifié pour les réussites. Ne notifiez que les échecs. De plus ajouter un opérateur de prévention de défaillance de l'agent SQL ce qui vous avertira si vos travaux d'agent ne sont pas exécuté suite à l'indisponibilité de l'agent SQL (par exemple service arrêté par erreur).[...]
    Si le job est un échec et s'exécute toutes les heures, j'aurai une notification d'erreur par heure, donc le problème que je veux résoudre qui est d'avoir une factorisation des notifications reste inchangé.

    a+, =)
    -=Clément=-

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 739
    Points : 52 451
    Points
    52 451
    Billets dans le blog
    5
    Par défaut
    Oui, mais si vous comptez que l'échec soit la norme et la réussite l'exception.... Votre vie ne doit pas être d'un grand confort...
    Seriez vous :
    a) pessismiste
    b) hypocondriaque
    c) déprimé...

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 572
    Points : 341
    Points
    341
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Oui, mais si vous comptez que l'échec soit la norme et la réussite l'exception.... Votre vie ne doit pas être d'un grand confort...
    Seriez vous :
    a) pessismiste
    b) hypocondriaque
    c) déprimé...[...]
    Lol, j'essaie juste de repousser les limites du logiciel... De même qu'un newsgroup est capable de faire des "digest" quotidiens, quelqu'un a-t-il réussi à le faire avec SQL Server ?

    a+, =)
    -=Clément=-

  6. #6
    Membre actif
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2007
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 193
    Points : 213
    Points
    213
    Par défaut
    pourquoi ne pas enlever les alertes sur les jobs et l'envoyer vous même par mail a l'heure que vous le désirez?

    Par contre je ne vois pas trop l'utilité d'être prévenu 19h plus tard que un job s'est mal déroulé En tout cas chez nous les mails n'ont pas le temps d'arriver que le téléphone sonne
    Fabian M. - DBA Sql server 2008R2.
    Apprenti Admin Système 2008 R2
    Développeur SSRS, SQL
    Développement C# en hobby

  7. #7
    Membre chevronné

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2007
    Messages : 1 216
    Points : 1 758
    Points
    1 758
    Par défaut
    Ou une sp/vue dans msdb qui va chercher dans les tables sysjobs et autres l'historique de tes jobs du serveur et t'envoie un mail à une heure bien definie.
    Tu bornes la recherche à [getdate()-1,getdate()].

    Ainsi tu recevra 1 mail par jour te spécifiant tous les echecs des jobs de ta journée. Ca te divise encore le nombre de notifications par le nbr de job !

    Par contre j'espere que ton job business critical ne va pas planter une minute apres que ton job ai envoyé le mail... Car tu vas pouvoir attendre un utilisateur furax ou alors le lendemain avant de t'en rendre compte...

  8. #8
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 572
    Points : 341
    Points
    341
    Par défaut
    Merci, j'en suis là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     use msdb;
     select *,[sysjobs].name FROM
     sysjobhistory,
     sysjobs
     WHERE
     sysjobs.job_id=sysjobhistory.job_id 
     AND
     run_date=convert(char(10),getdate(),112) order by run_time;
    a+, =)
    -=Clément=-

  9. #9
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 739
    Points : 52 451
    Points
    52 451
    Billets dans le blog
    5
    Par défaut
    Vous pouvez aussi le désactiver (ou tout du moins le job d'envoi) juste après survenance de l'événement et le réactiver par une proc planifiée du même agent SQL.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  10. #10
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 572
    Points : 341
    Points
    341
    Par défaut
    Je me suis créé un Report SSRS envoyé par mail 1fois/jour avec la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    USE msdb;
     SELECT
    [sysjobhistory].server,
    [sysjobs].name,
    [sysjobs].description,
    [sysjobhistory].run_status,
    [sysjobhistory].message,
    endTime = CONVERT 
        ( 
            DATETIME, 
            RTRIM(run_date) 
        ) 
        +  
        ( 
            run_time * 9 
            + run_time % 10000 * 6 
            + run_time % 100 * 10 
            + 25 * run_duration 
        ) / 216e4 
     FROM
     sysjobhistory 
    INNER JOIN
     sysjobs
     ON
     sysjobs.job_id=sysjobhistory.job_id 
     AND
     run_date=convert(char(10),getdate(),112) 
     AND
     name=@p_jobName
    AND
    step_name='(Job outcome)'
    ORDER BY name
    et la requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select distinct name from sysjobs
    Pour plus de détails demandez, je complèterai.
    a+, =)
    -=Clement=-

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2013] Comment éxecuter des macros automatiquement une fois par heure ?
    Par Dan.exe dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 31/01/2014, 17h41
  2. Procédure qui ne se lance qu'une fois par jour
    Par riri2938 dans le forum VBA Access
    Réponses: 6
    Dernier message: 28/02/2009, 16h16
  3. [Conception] Ajout d'un crédit une fois par jour dans la bdd
    Par Dev@lone dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 06/02/2008, 15h53
  4. [Tableaux] Une fois par jour
    Par mickado dans le forum Langage
    Réponses: 10
    Dernier message: 25/01/2007, 20h59
  5. Exécuter un script, une fois par jour
    Par Poussy-Puce dans le forum ASP
    Réponses: 1
    Dernier message: 19/10/2006, 17h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo