Как получить dbmail для обработки элементов из очереди для SQL Server 2005?

Когда я использую хранимую процедуру sp_send_dbmail, я получаю сообщение о том, что моя почта была помещена в очередь. Тем не менее, он никогда не доставляется. Я вижу их в очереди, если я запускаю этот SQL:

SELECT * FROM msdb..sysmail_allitems WHERE sent_status = 'unsent'

Этот SQL возвращает 1:

SELECT is_broker_enabled FROM sys.databases WHERE name = 'msdb'

Эта хранимая процедура возвращает STARTED:

msdb.dbo.sysmail_help_status_sp

Соответствующие учетные записи и профили были созданы, и почта работала в одном месте. В msdb.dbo.sysmail_event_log ошибок нет.

12.08.2008 15:58:30
3 ОТВЕТА
РЕШЕНИЕ

Может быть кучей вещей. Например, я видел (да, действительно видел), что это происходит после:

  • Перезагрузка контроллера домена
  • Перезагрузка сервера Exchange
  • Отключение маршрутизатора
  • Изменения учетной записи службы
  • SQL Server не хватает места на диске

Поэтому, пока это не случится снова, я бы не волновался из-за этого.

1
13.08.2008 14:20:56

Ты пробовал

sysmail_stop_sp

затем

sysmail_start_sp
2
12.08.2008 20:17:14

У меня была такая же проблема, и вот как я смог ее решить.

Перейдите к Sql Agent >> Свойства >> Система оповещения >> Установите флажок Включить для DBMail и добавьте профиль.

Перезапустите агент, и он работает с тех пор.

Надеюсь, это поможет, _Ub

2
12.05.2011 14:41:12