Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Не отправляются письма через Database Mail (Mail not queued. Database Mail is stoped)  [new]
e_mikhailov
Member

Откуда: Россия
Сообщений: 53
Коллеги, доброго времени суток! Нужна ваша помощь.
Database Mail перестала отправлять письма, выдавая ошибку:
"Mail not queued. Database Mail is stoped. Use sysmail_start_sp to start Database mail. (Microsoft SQL Server, Error: 14641)"
При этом ещё в пятницу всё нормально работало и никто ничего с СУБД не делал.

Вводные:
1) СУБД SQL Server 2005 Developer Edition SP4 x64 eng
2) Параметры Database Mail XPs = 1; SQL Mail XPs = 1
3) Профиль и учётная запись в Database Mail настроены и не менялись
4) Выполнял EXEC msdb.dbo.sysmail_start_sp, а также очистку очереди, как написано в этой статье:
http://blogs.msdn.com/b/sqlserverfaq/archive/2010/03/18/database-mail-failing-with-the-service-queue-externalmailqueue-is-currently-disabled-message.aspx

Ничего не помогло...

При этом очередь пуста:
Use MSDB
Select count(*) from ExternalMailQueue
выдаёт 0

Служба запущена:
EXEC msdb.dbo.sysmail_help_status_sp
выдаёт STARTED

EXEC msdb.dbo.sysmail_help_queue_sp @queue_type = 'mail';
выдаёт
queue_type length state last_empty_rowset_time last_activated_time
---------- ----------- ---------------------------------------------------------------- ----------------------- -----------------------
mail 0 INACTIVE 2014-10-08 09:44:18.523 2014-10-08 09:38:43.527
8 окт 14, 14:05    [16676415]     Ответить | Цитировать Сообщить модератору
 Re: Не отправляются письма через Database Mail (Mail not queued. Database Mail is stoped)  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
MSDB часом не переполнилась?
8 окт 14, 14:31    [16676622]     Ответить | Цитировать Сообщить модератору
 Re: Не отправляются письма через Database Mail (Mail not queued. Database Mail is stoped)  [new]
e_mikhailov
Member

Откуда: Россия
Сообщений: 53
Как это проверить?
У меня MSDB сейчас 50Мб. Прирост файлов стоит "By 10 percent, unrestricted growth", недостатка места на сервере также нет.
8 окт 14, 15:04    [16676851]     Ответить | Цитировать Сообщить модератору
 Re: Не отправляются письма через Database Mail (Mail not queued. Database Mail is stoped)  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Еще может быть выключен Service Broker для MSDB, тогда почта тоже не будет работать.
8 окт 14, 15:11    [16676903]     Ответить | Цитировать Сообщить модератору
 Re: Не отправляются письма через Database Mail (Mail not queued. Database Mail is stoped)  [new]
e_mikhailov
Member

Откуда: Россия
Сообщений: 53
Где это посмотреть?
8 окт 14, 15:19    [16676951]     Ответить | Цитировать Сообщить модератору
 Re: Не отправляются письма через Database Mail (Mail not queued. Database Mail is stoped)  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4255
автор
Профиль и учётная запись в Database Mail настроены и не менялись

И все таки проверьте еще раз. Создайте новый профиль и отправьте тестовое сообщение.
8 окт 14, 15:23    [16676980]     Ответить | Цитировать Сообщить модератору
 Re: Не отправляются письма через Database Mail (Mail not queued. Database Mail is stoped)  [new]
e_mikhailov
Member

Откуда: Россия
Сообщений: 53
Не помогло...
1) Выполнил ALTER DATABASE msdb SET ENABLE_BROKER
2) Рестартанул службу SQL
3) Создал новый профиль

Тестовое сообщение не отправляется. Ошибка та же.
8 окт 14, 15:49    [16677183]     Ответить | Цитировать Сообщить модератору
 Re: Не отправляются письма через Database Mail (Mail not queued. Database Mail is stoped)  [new]
e_mikhailov
Member

Откуда: Россия
Сообщений: 53
Скажите, могут ли какие либо настройки Service Broker мешать работе Database Mail?
9 окт 14, 10:29    [16680353]     Ответить | Цитировать Сообщить модератору
 Re: Не отправляются письма через Database Mail (Mail not queued. Database Mail is stoped)  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
DBMail стартует при отсылке и останавливается после отправки через какое-то время сам.

Журнал смотрели?
9 окт 14, 11:50    [16680898]     Ответить | Цитировать Сообщить модератору
 Re: Не отправляются письма через Database Mail (Mail not queued. Database Mail is stoped)  [new]
e_mikhailov
Member

Откуда: Россия
Сообщений: 53
Да, именно так.
Вот журнал:

К сообщению приложен файл. Размер - 129Kb
9 окт 14, 13:23    [16681534]     Ответить | Цитировать Сообщить модератору
 Re: Не отправляются письма через Database Mail (Mail not queued. Database Mail is stoped)  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
В журнале всё в порядке.
9 окт 14, 13:28    [16681579]     Ответить | Цитировать Сообщить модератору
 Re: Не отправляются письма через Database Mail (Mail not queued. Database Mail is stoped)  [new]
e_mikhailov
Member

Откуда: Россия
Сообщений: 53
Спасибо конечно, но проблему с неотправкой сообщений как решить?
9 окт 14, 13:50    [16681764]     Ответить | Цитировать Сообщить модератору
 Re: Не отправляются письма через Database Mail (Mail not queued. Database Mail is stoped)  [new]
e_mikhailov
Member

Откуда: Россия
Сообщений: 53
Коллеги, Glory, неужели ничего нельзя сделать чтобы побороть эту ошибку?
10 окт 14, 15:08    [16687795]     Ответить | Цитировать Сообщить модератору
 Re: Не отправляются письма через Database Mail (Mail not queued. Database Mail is stoped)  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
почтовый ящик учетки вообще можно открыть с любого почтового клиента ? Может там просто места нет ?
10 окт 14, 15:22    [16687867]     Ответить | Цитировать Сообщить модератору
 Re: Не отправляются письма через Database Mail (Mail not queued. Database Mail is stoped)  [new]
e_mikhailov
Member

Откуда: Россия
Сообщений: 53
Да, конечно можно. Через этот ящик отправляются сообщения и с других sql-серверов. Причём без ошибок. Дело именно в этом конкретном сервере. Осталось понять, как это побороть...
10 окт 14, 15:25    [16687882]     Ответить | Цитировать Сообщить модератору
 Re: Не отправляются письма через Database Mail (Mail not queued. Database Mail is stoped)  [new]
e_mikhailov
Member

Откуда: Россия
Сообщений: 53
Место в ящике достаточно, ведь в случае переполнения не отправлялись бы сообщения и с остальных серверов. Но с других серверов всё работает.
10 окт 14, 15:27    [16687892]     Ответить | Цитировать Сообщить модератору
 Re: Не отправляются письма через Database Mail (Mail not queued. Database Mail is stoped)  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
вот вроде здесь еще 2 варианта возможного решения
10 окт 14, 15:30    [16687907]     Ответить | Цитировать Сообщить модератору
 Re: Не отправляются письма через Database Mail (Mail not queued. Database Mail is stoped)  [new]
e_mikhailov
Member

Откуда: Россия
Сообщений: 53
Выполнил, как написано в статье:
1) "Go to SQL Agent Properties-->Alert System-->Enable Database Mail.
Restart the SQL Agent."
Действительно, у меня почему то на этой вкладке было пусто.

Не помогло...

2) Выполнил это:
After starting the service using sysmail_start_sp run the following script. This will solve the issue

SET NOCOUNT ON
Declare @ch uniqueidentifier;
Declare @message_type nvarchar(256);
Declare @message_body nvarchar(max);
Declare @ctr bigint;
Declare @ctr2 bigint;
While (1=1)
Begin
Receive @ch = conversation_handle, @message_type = message_type_name from ExternalMailQueue
set @ctr2 = @ctr2 + 1
set @ctr = (select count(*) from ExternalMailQueue)
if @ctr = 0
break
end

Тоже не помогло...
10 окт 14, 16:24    [16688176]     Ответить | Цитировать Сообщить модератору
 Re: Не отправляются письма через Database Mail (Mail not queued. Database Mail is stoped)  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Может Вы профиль и учётку неправильно настроили (не менялось - не аргумент). Вы сообщаете так мало информации о своих действиях, что как-то помочь или что-то предположить невозможно.
10 окт 14, 16:38    [16688243]     Ответить | Цитировать Сообщить модератору
 Re: Не отправляются письма через Database Mail (Mail not queued. Database Mail is stoped)  [new]
e_mikhailov
Member

Откуда: Россия
Сообщений: 53
Настройки почтового профиля и учётки на всех серверах одинаковые. Почтовый ящик тоже один и тот же. Не работает только на одном сервере.
Вот мои настройки:

К сообщению приложен файл. Размер - 85Kb
10 окт 14, 17:09    [16688481]     Ответить | Цитировать Сообщить модератору
 Re: Не отправляются письма через Database Mail (Mail not queued. Database Mail is stoped)  [new]
e_mikhailov
Member

Откуда: Россия
Сообщений: 53


К сообщению приложен файл. Размер - 75Kb
10 окт 14, 17:10    [16688486]     Ответить | Цитировать Сообщить модератору
 Re: Не отправляются письма через Database Mail (Mail not queued. Database Mail is stoped)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31430
e_mikhailov
EXEC msdb.dbo.sysmail_help_queue_sp @queue_type = 'mail';
выдаёт
queue_typelengthstatelast_empty_rowset_timelast_activated_time
mail0INACTIVE2014-10-08 09:44:18.5232014-10-08 09:38:43.527
Аналогичная ситуация. Выдаёт sysmail_help_queue_sp INACTIVE, и всё тут.

Только у меня хуже, у ТС хоть сообщения в логах есть.

Пересоздавал профили и аккаунты, сервисброкеры и эндпойнты, выполнял все шаги из рекомендаций Александра Гладченко и из соотв. статьи в technet, ExternalMailQueue очищал...
Журнал Database Mail Log пустой, там только сообщение Activation successful, и сообщение The mail queue was started by login ..., если перестартовать.

В общем, в итоге наткнулся на форум http://www.dbtalk.net/microsoft-public-sqlserver-programming/db-mail-not-working-need-658534.html
с замечанием: befor you restert db mail you must first kill process databasemail90.exe

И действительно, после убивания процесса в таск менеджере, и выполнения
EXEC msdb.dbo.sysmail_stop_sp;
EXEC msdb.dbo.sysmail_start_sp;

всё заработало.
25 ноя 14, 22:33    [16905205]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Не отправляются письма через Database Mail (Mail not queued. Database Mail is stoped)  [new]
мигель1
Member

Откуда:
Сообщений: 3216
alexeyvg,

на что обратить внимание:
1. после всех манипуляций ( перегружаем сервер)
2. проверяем гранты (DatabaseMailUserRole)
https://docs.microsoft.com/ru-ru/sql/relational-databases/database-mail/database-mail-general-troubleshooting?view=sql-server-ver15
3.
это хорошо
queue_type length state last_empty_rowset_time last_activated_time
mail 0 RECEIVES_OCCURRING 2020-02-29 14:07:01.710 2020-02-29 14:06:58.610

это плохо
queue_type length state last_empty_rowset_time last_activated_time
mail 30 INACTIVE 2020-02-29 14:07:01.710 2020-02-29 14:06:58.610
+
ALTER DATABASE [msdb] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
ALTER DATABASE [msdb] SET DISABLE_BROKER
SELECT is_broker_enabled FROM sys.databases WHERE name = 'msdb' ;
ALTER DATABASE [msdb] SET ENABLE_BROKER
SELECT is_broker_enabled FROM sys.databases WHERE name = 'msdb' ;
ALTER DATABASE [msdb] SET MULTI_USER 

--Очистить очередь сообщений(clean mail queue)
use msdb
declare @conversation_handle uniqueidentifier
declare cr cursor for 
select top 1000 conversation_handle 
from ExternalMailQueue 
where conversation_handle is not null
order by queuing_order desc 
open cr
fetch next from cr into @conversation_handle
while @@fetch_status=0
begin
begin try
END CONVERSATION @conversation_handle;
end try
begin catch
print cast(@conversation_handle as varchar(max))+' Failed'
end catch
fetch next from cr into @conversation_handle
end
close cr
deallocate cr

EXEC msdb.dbo.sysmail_stop_sp;
EXEC msdb.dbo.sysmail_help_status_sp;
EXEC msdb.dbo.sysmail_start_sp;
EXEC msdb.dbo.sysmail_help_status_sp;
EXEC msdb.dbo.sysmail_help_queue_sp @queue_type = 'mail';

SELECT * FROM msdb.dbo.sysmail_allitems;
SELECT * FROM msdb.dbo.sysmail_faileditems;
SELECT * FROM msdb.dbo.sysmail_unsentitems;
SELECT * FROM msdb.dbo.sysmail_event_log;
Модератор: Что движет людьми, отвечающими на сообщения шестилетней давности, не понятно. Но пусть висит.


Сообщение было отредактировано: 29 фев 20, 17:23
29 фев 20, 17:17    [22089777]     Ответить | Цитировать Сообщить модератору
 Re: Не отправляются письма через Database Mail (Mail not queued. Database Mail is stoped)  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2396
мигель1
Что движет людьми, отвечающими на сообщения шестилетней давности, не понятно

просто у них в домашей аптечке некропостинор внезапно закончился
2 мар 20, 10:57    [22090447]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить