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

Développement SQL Server Discussion :

Déclencheur sur fichier de log / log trigger


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2017
    Messages : 3
    Par défaut Déclencheur sur fichier de log / log trigger
    Bonjour,

    J'aimerai mettre en place un système de surveillance de certaines tables SQL Server pour provoquer des traitements sur l'arrivée de nouvelles entrées ou des modifications.

    La solution que l'on peut tout de suite envisager est de créer des triggers SQL... Mais ça ne me convient pas car c'est totalement intrusif pour la base de données.
    De plus, au delà de l'utilisation des ressources que cela implique, La BDD étant dépendante des mises à jour et autres mécanismes d'administration de l'application qui l'utilise, les triggers pourraient être perdus...

    Bref, j'aimerai donc me tourner vers l'autre solution qui est l'analyse des fichiers de logs de la BDD et donc une solution non intrusive.
    J'ai effectué quelques recherches, mais sans parler de certaines solutions obscures et coûteuses d'éditeurs, je n'ai rien trouvé de concluant.
    J'aimerai pouvoir soit utiliser un connecteur existant open source et fiable ou créer ma propre solution d'analyse de log (en java) si ça reste dans le domaine du possible (par rapport à la complexité).

    Donc ma question à la communauté : Est-ce envisageable ? Si oui avez-vous des informations / technologies / guides vers lesquels je peux me tourner ?

    Un grand merci par avance.

    Thaminox

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Bonjour,

    il faudrait nous donner plus de de détail sur ce que vous voulez faire comme traitement et sur le contexte
    Je ne comprend pas bien pourquoi un trigger ne convient pas par exemple.

    en attendant, vous pouvez jeter un œil aux fonctionnalités comme CHANGE DATA CAPTURE ou CHANGE TRACKING

  3. #3
    Invité
    Invité(e)
    Par défaut
    J'ai déjà mis en place des systèmes de surveillances par des jobs récurrentes qui envoyait des courriels.
    Je ne sais pas si ça correspondrait vraiment à ton besoin.
    Par expérience, le besoin initial est souvent que l'on a besoin d'être informé tout de suite, sans délai.
    Mais quand tu discutes un peu plus en profondeur, le besoin se réduit souvent à un test par heure aux heures ouvrables, voir un par jour.

    L'argumentaire que j'emploie :
    * Est-ce que tu réagi tout de suite lorsque tu reçois cette alerte ?
    * Est-ce que tu es prêt à recevoir 50 messages par heures ?
    * Est-ce c'est si important que ton cellulaire doit sonné à 3 heures du matin toutes les 5 minutes ?

    Généralement, ça refroidi un peu les ardeurs du demandeur qui va aussi recevoir les alertes !

  4. #4
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2017
    Messages : 3
    Par défaut
    Merci pour vos réponses.

    7gyY9w1ZY6ySRgPeaefZ> Mon besoin n'est pas un caprice d'un utilisateur mais répond réellement à une exigence métier. L'idée est de créer un traitement automatique au fil de l'eau de la récupération des nouvelles données dans une table pour les répliquer dans une autre application.
    Créer des tâches récurrentes à fréquence élevée pourrait répondre au besoin si cela n'apportait pas les problèmes cités dans mon premier message, c'est à dire l'utilisation d'une session SQL qui interroge très régulièrement certaines tables utilisant ainsi une partie des ressources de la BDD.

    aieeeuuuuu> Je veux récupérer seulement la nouvelle information (pas besoin de CDC ou de Change traking qui vont s'intéressé plus à la traçabilité/historisation des données).

    Je reprécise mon besoin en essayant d'être un peu plus clair :
    Je souhaite détecter une modification / insertion dans une table pour prendre ces nouvelles valeurs (et enclencher des traitements d'intégration dans une autre application).
    Je ne souhaite pas passer par des triggers car c'est intrusif pour la BDD d'une application.
    J'avais entendu parler d'une solution à partir de l'analyse de log de BDD, est-ce viable ? Et comment mettre cela en place?

  5. #5
    Membre chevronné
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Décembre 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Décembre 2007
    Messages : 327
    Par défaut
    La destination est elle SQL Server ?

    Si oui pourquoi ne pas répliquer simplement la base de données sur la destination ?

    La solution de log est le log Shipping, maintenant il existe plusieurs nouvelles solutions comme la réplication voir always on

    Peut être qu'avec un peut d'aide :

    https://docs.microsoft.com/en-us/sql...ups-sql-server
    https://docs.microsoft.com/fr-fr/sql...of-replication

  6. #6
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Citation Envoyé par Thaminox Voir le message
    aieeeuuuuu> Je veux récupérer seulement la nouvelle information (pas besoin de CDC ou de Change traking qui vont s'intéressé plus à la traçabilité/historisation des données).

    Je reprécise mon besoin en essayant d'être un peu plus clair :
    Je souhaite détecter une modification / insertion dans une table pour prendre ces nouvelles valeurs (et enclencher des traitements d'intégration dans une autre application).
    Je ne souhaite pas passer par des triggers car c'est intrusif pour la BDD d'une application.
    J'avais entendu parler d'une solution à partir de l'analyse de log de BDD, est-ce viable ? Et comment mettre cela en place?
    CHANGE DATA CAPTURE semble pourtant tout indiqué. C'est d'ailleurs ce qu'il fait sous le capot : relecture du journal des transactions pour en "déduire" les modifications effectuées.
    Il est configurable afin de ne suivre que les informations qui vous intéressent.
    En plus il est asynchrone, et ne devrait donc pas perturber l'existant.
    Il a toutefois quelques contraintes, mais je pense qu'il peut parfaitement convenir pour votre besoin.

  7. #7
    Membre chevronné
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Décembre 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Décembre 2007
    Messages : 327
    Par défaut
    Le CDC peut convenir parfaitement effectivement après une réplication de fusion peut être une solution approprié aussi ...

    Regardez les solutions évoqués et faite nous votre retour

Discussions similaires

  1. Déclencheur sur fichier
    Par michelS dans le forum Développement de jobs
    Réponses: 0
    Dernier message: 07/09/2012, 14h16
  2. Informations sur le fichier jonas.start.log
    Par stefpoisson dans le forum JOnAS
    Réponses: 2
    Dernier message: 04/08/2011, 10h18
  3. Renseignement sur Fichier alert.log
    Par fred974 dans le forum Administration
    Réponses: 1
    Dernier message: 20/09/2007, 09h11
  4. Réponses: 9
    Dernier message: 16/05/2006, 15h02
  5. Accès concurents sur fichier log
    Par Amnesiak dans le forum Langage
    Réponses: 7
    Dernier message: 08/02/2006, 23h00

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