SQL-сервер прекращает отправку почты БД в SQL Server 2014 - PullRequest
0 голосов
/ 29 апреля 2019

Мы столкнулись с проблемой с почтой БД в SQL Server 2014.

Внезапно он прекращает отправку электронных писем пользователям с указанием статуса UNSENT в msdb.dbo.sysmail_allitems.

Пожалуйста, помогите.

1 Ответ

1 голос
/ 29 апреля 2019

Проверьте, не отключил ли кто-либо брокера или не отправил ли он электронную почту.Эти два запроса должны вернуть 1.

SELECT value_in_use
FROM sys.configurations
WHERE name = 'Database Mail XPs';

SELECT is_broker_enabled 
FROM sys.databases 
WHERE name='MSDB';

Есть ли записи в очереди передачи?Нет записи значит хорошо.Если есть запись, обратите внимание на поле transmission_status.Это написано причина, почему это сообщение находится в очереди.Обычно это сообщение об ошибке, объясняющее, почему отправка сообщения не удалась.

select * from msdb.sys.transmission_queue ;

Попробуйте очистить 'ExternalMailQueue'

WHILE EXISTS
(
    SELECT 'ExternalMailQueue' AS ServiceBrokerQueueName, 
           *
    FROM [msdb].[dbo].[ExternalMailQueue]
)
    BEGIN
        WAITFOR(
        RECEIVE TOP (1) conversation_group_id FROM [ExternalMailQueue]), TIMEOUT 1000;
    END;
...