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

Откуда:
Сообщений: 62
MS SQL Server 2005.
Настроен account и profile.
Учетная запись почтового сервера проверена через MS Outlook.
Тестовое послание из MS SQl Server Management Studio не доходит до адресата.
Послание через sp_send_dbmail регистрируется в отправляемые msdb.dbo.sysmail_allitems,
но имеет статус "unsent".
SQL Server Agent запущен.
Функция sysmail_start_sp возвращает 1.
В LOG-е Database Mail пусто...
Подскажите, пожалуйста, куда смотреть?
15 сен 09, 09:15    [7658721]     Ответить | Цитировать Сообщить модератору
 Re: Проблема отправки почты через Database Mail, sp_send_dbmail  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5111
если для коннекта к почтовому серверу используются явные логин и пароль попробуйте выставить ананимус аутентификацию в настройках аккаунта датабейс маил

--------------------------------------------------------------
Дьявол кроется в деталях.
15 сен 09, 09:26    [7658765]     Ответить | Цитировать Сообщить модератору
 Re: Проблема отправки почты через Database Mail, sp_send_dbmail  [new]
AronovichAB
Member

Откуда:
Сообщений: 62
Дедушка, спасибо за совет.
Увы, не помогло ...
15 сен 09, 10:06    [7658941]     Ответить | Цитировать Сообщить модератору
 Re: Проблема отправки почты через Database Mail, sp_send_dbmail  [new]
AronovichAB
Member

Откуда:
Сообщений: 62
Дополнительная информация по ситуации.
Первоначально все эксперименты делал под пользлователем SA.
Пользователь SA не имеет права отправлять почту и дать ему такое право не возможно.
Для отправки тестовых сообщений сделал специального пользователя. Дал ему роль "DatabaseMailUserRole". Интересно, что в диалоге отправки тестового сообщения Database Mail от имени этого пользователя долго не видел список настроенных профилей. Давал различные роли (методом тыка). В какой-то момент список профилей появился.
Из select * from msdb.dbo.sysmail_unsentitems следует, что в каждое тестовое сообщение, созданное от имени нового пользователя, последние изменения вносил пользователь SA !!!????
Что менялось, зачем? Откуда "вылез" SA ?
В руководстве по Database Mail указано, что роль DatabaseMailUserRole в базе данных msdb должна быть дана логину, от имени которого SQL Server Agent подключается к SQL Server.
А как узнать этот login?
В настройках SQL Server Agent есть login для входа в операционку.
В списке login-ов сервера есть "OP-042\SQLServer2005SQLAgentUser$OP-042$SUPIR". Ему роль "DatabaseMailUserRole" дана.
16 сен 09, 09:17    [7665175]     Ответить | Цитировать Сообщить модератору
 Re: Проблема отправки почты через Database Mail, sp_send_dbmail  [new]
AronovichAB
Member

Откуда:
Сообщений: 62
Разбираясь дальше предположил, что login, от имени которого работает Database Mail вероятно соответствует login-у, от "имени" которого подается команда:
EXEC msdb.dbo.sysmail_start_sp
Выполнил ее подключившись специально сделанным login-ом.
В LOG-е Database Mail появилось две записи с одинаковым временем с точностью до секунды:
LogID = 124 Почтовая очередь запущена под именем входа ... (записано новым login-ом)
LogID = 125 Activation failure. (записано SA)

Что дальше? Почему failure?

Как же мне надоело дерни эту пимпочку, потом поверни ту фиговинку и таких "действий" штук 10 для включения элементарной функции, востребованной практически каждым программным комплексом....
16 сен 09, 09:55    [7665350]     Ответить | Цитировать Сообщить модератору
 Re: Проблема отправки почты через Database Mail, sp_send_dbmail  [new]
AronovichAB
Member

Откуда:
Сообщений: 62
Открыл Log собственно сервера.
В нем присутствует строка (дата и время с точностью до секунды соответствуют возникновению проблемы, описанной в предыдущем сообщении. LogID нет):
09/16/2009 11:18:19,spid77s,Unknown,The activated proc [dbo].[sp_sysmail_activate] running on queue msdb.dbo.ExternalMailQueue output the following: 'Error executing extended stored procedure: Invalid Parameter'

И что дальше? Что за параметр? Где он назначается?
16 сен 09, 10:12    [7665463]     Ответить | Цитировать Сообщить модератору
 Re: Проблема отправки почты через Database Mail, sp_send_dbmail  [new]
AronovichAB
Member

Откуда:
Сообщений: 62
Сравнил login-ы SA и новый. Мысль дурная, но все все же ... Языки отличаются. Поменял в новом логине russian на english. Выполнил EXEC msdb.dbo.sysmail_start_sp от имени нового логина.
Почтовая очередь запущена и НИКАКИХ Activation failure !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

А ПОЧТА НЕ УХОДИТ .............
Из представления select * from msdb.dbo.sysmail_unsentitems
следует, что отправитель новый логин (там колонка называется send_request_user),
но "последнее слово" в сообщении (колонка last_mod_user) опять осталось за SA.
16 сен 09, 10:45    [7665717]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить