Bonjour,
Quelqu'un peut m'aider comment faire une alerte automatique par mail à chaque ajout, modification ou suppression des données sur une table dans une base de données SQL Serveur?
Merci d'avance
Version imprimable
Bonjour,
Quelqu'un peut m'aider comment faire une alerte automatique par mail à chaque ajout, modification ou suppression des données sur une table dans une base de données SQL Serveur?
Merci d'avance
Envoyer un mail :
https://msdn.microsoft.com/fr-fr/library/ms190307.aspx
Il ne reste ensuite plus qu'à encapsuler ça dans un trigger qui se déclenche sur les actions à surveiller.
C'est un très mauvaise idée....
1) verrouillage => attentes, contention, blocage, verrous mortels
2) au bout d'une certain nombre d'envoi de mail quasi identiques vous allez être considéré comme spammeur et ne recevrez plus aucun email...
Quel est votre besoin fonctionnel ?
A +
Pour suivre vos besoins, peut-être pourriez trouver un bon compromis en regardant vers le Suivi des modifications de données.
https://msdn.microsoft.com/fr-fr/library/bb933994.aspx
Comme l'a très bien expliqué SQLPro, c'est généralement une très mauvaise idée !
Concernant la raison n° 1 "verrouillage => attentes, contention, blocage, verrous mortels..", évoquée, à juste titre, par SQL Pro, sachez que cela provient principalement du fait suivant :
Les Déclencheurs (Triggers) font partie intégrante de la transaction en cours, aussi les traitements effectués au sein d'un Déclencheur (Trigger) doivent être des traitements légers, leurs durées doivent aussi courtes que possible, et ce, afin de minimiser les temps d'attente pour la libération des verrous etc.
Sachez enfin que les traitements lourds et complexes effectués au sein d'un Déclencheur (Trigger), et qui en réalité, sur le plan purement fonctionnel, peuvent très bien être effectués en dehors de la transaction, (et uniquement ce genre de traitements), ces traitements peuvent, et même ils doivent !, être délégués, en mode asynchrone, au Service Broker. En effet, au sein même d'un Déclencheur (Trigger), il est tout à fait possible d'envoyer des messages au Service Broker.
Voilà, c'était juste pour info générale, utile, même si je ne crois pas que cela corresponde exactement à vos besoins que d'ailleurs, on ne connait pas (?) puisque, vous n'avez pas encore répondu à la question posée par SQLPro : "Quel est votre besoin fonctionnel ?" En effet selon vos besoins réels, d'autres solutions, plus appropriées, vous seront, avec un peu de chance, suggérées.
A+