Как заставить 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 нет ошибок.

Пробовали ли вы

sysmail_stop_sp

затем

sysmail_start_sp
Комментарии (0)

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

Перейдите в Sql Agent >> Properties >> > Alert System >> Установите флажок Enable для DBMail и добавьте профиль.

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

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

Комментарии (0)
Решение

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

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

Так что пока это не повторится, я бы не волновался по этому поводу.

Комментарии (0)