Comment faire en sorte que dbmail traite les éléments de la file d'attente pour SQL Server 2005 ?
-
08-06-2019 - |
Question
Lorsque j'utilise la procédure stockée sp_send_dbmail, je reçois un message indiquant que mon courrier a été mis en file d'attente.Cependant, il ne semble jamais être livré.Je peux les voir dans la file d'attente si j'exécute ce SQL :
SELECT * FROM msdb..sysmail_allitems WHERE sent_status = 'unsent'
Ce SQL renvoie un 1 :
SELECT is_broker_enabled FROM sys.databases WHERE name = 'msdb'
Cette procédure stockée renvoie STARTED :
msdb.dbo.sysmail_help_status_sp
Les comptes et profils appropriés ont été créés et le courrier fonctionnait à un moment donné.Il n’y a aucune erreur dans msdb.dbo.sysmail_event_log.
La solution
Cela pourrait être des tas de choses.Par exemple, j'ai vu (oui, effectivement vu) cela se produire après :
- Redémarrage du contrôleur de domaine
- Redémarrage du serveur Exchange
- Panne de routeur
- Modifications du compte de service
- SQL Server manque d'espace disque
Donc, jusqu'à ce que cela se reproduise, je ne paniquerais pas à ce sujet.
Autres conseils
As-tu essayé
sysmail_stop_sp
alors
sysmail_start_sp
J'ai eu le même problème et c'est ainsi que j'ai pu le résoudre.
Aller à Agent SQL >> Propriétés >> Système d'alerte >> Cochez la case Activer pour DBMail et ajoutez un profil.
Redémarrage Agent et ça marche depuis.
J’espère que cela vous aidera, _Ub