8

On a SQL Server 2005 machine, I have DBMail setup and correctly configured. I am able to use "Notify Operator" and EXEC msdb.dbo.sp_send_dbmail to queue emails.

But the problem is the queued mails never go through. I see 10 emails in the queue when I query

SELECT * FROM msdb.dbo.sysmail_unsentitems

But if I restart the SQL Server service, all mails go through and I receive emails in my inbox.

So far this is the only pattern I could find.

So my question is: is there a way to troubleshoot DBmail? I read some steps on MSDN, but they are not of much help. Any URLs to articles that could help are much appreciated.

2 Answers 2

8

Have you start the service broker on MSDB ? You need the service broker on to be able to process mail queue.

Read this post on Stackoverflow. An other link that may help you is how to troubleshoot a queue in sql. You can also use this link to get your service broker up and running on MSDB.

Hope that those links may help you.

2
  • Thank you, I will try your suggestions and post my results.
    – UB01
    May 12, 2011 at 2:24
  • yes, I did try all of those. Everything returned as STARTED or running okay. Looks like the problem is with Sql Agent Alert System settings. See below
    – UB01
    May 12, 2011 at 18:04
5

Thank you for all your comments. I found the root of the problem.

Sql Agent >> Properties >> Alert System (tab) >> Enable Mail profile (check) And select appropriate mail system and add a mail profile.

MSDN Link for DB Mail

This took care of the problem.

When I look at Sql Agent Logs it had a log entry as "Unable to start mail session (reason: no mail profile defined)". Using this key word, I was able to search online and get some help.

2
  • Everything is now fine. :-)
    – Nico
    May 13, 2011 at 0:02
  • Yes it seems like it.
    – UB01
    May 24, 2011 at 17:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.