Когда я использую хранимую процедуру 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 ошибок нет.
Может быть кучей вещей. Например, я видел (да, действительно видел), что это происходит после:
- Перезагрузка контроллера домена
- Перезагрузка сервера Exchange
- Отключение маршрутизатора
- Изменения учетной записи службы
- SQL Server не хватает места на диске
Поэтому, пока это не случится снова, я бы не волновался из-за этого.
Ты пробовал
sysmail_stop_sp
затем
sysmail_start_sp
У меня была такая же проблема, и вот как я смог ее решить.
Перейдите к Sql Agent >> Свойства >> Система оповещения >> Установите флажок Включить для DBMail и добавьте профиль.
Перезапустите агент, и он работает с тех пор.
Надеюсь, это поможет, _Ub