Come posso fare in modo che dbmail elabori gli elementi dalla coda per SQL Server 2005?
-
08-06-2019 - |
Domanda
Quando utilizzo la procedura memorizzata sp_send_dbmail, ricevo un messaggio che informa che la mia posta è stata in coda.Tuttavia, sembra che non venga mai consegnato.Posso vederli in coda se eseguo questo SQL:
SELECT * FROM msdb..sysmail_allitems WHERE sent_status = 'unsent'
Questo SQL restituisce un 1:
SELECT is_broker_enabled FROM sys.databases WHERE name = 'msdb'
Questa procedura memorizzata restituisce STARTED:
msdb.dbo.sysmail_help_status_sp
Sono stati impostati gli account e i profili appropriati e ad un certo punto la posta funzionava.Non sono presenti errori in msdb.dbo.sysmail_event_log.
Soluzione
Potrebbero essere un sacco di cose.Ad esempio, ho visto (sì, in realtà visto) che ciò accade dopo:
- Riavvio del controller di dominio
- Riavvio del server Exchange
- Interruzione del router
- Modifiche all'account di servizio
- SQL Server sta esaurendo lo spazio su disco
Quindi finché non accadrà di nuovo, non andrei fuori di testa.
Altri suggerimenti
Hai provato
sysmail_stop_sp
Poi
sysmail_start_sp
Ho avuto lo stesso problema ed è così che sono riuscito a risolverlo.
Vai a Agente SQL >> Proprietà >> Sistema di avviso >> Seleziona la casella Abilita per DBMail e aggiungi un profilo.
Ricomincia Agente e da allora funziona.
Spero che questo aiuti, _ub