Сбой задания SQL Server 2012 - отправка электронной почты

Проведя некоторые исследования здесь и в других местах и ​​попробовав несколько попыток устранения неполадок, я пришел к вам, хорошие люди, за помощью.

В SQL Server 2012 у меня есть работа с (в настоящее время) только одним шагом. Этот шаг выглядит примерно так:

    EXEC msdb.dbo.sp_send_dbmail
       @profile_name = 'SomeProfile',
       @recipients = 'MyEmailAddress@someplace.com',
       @subject = 'Some Subject',
       @query = N'SELECT somedata FROM sometable WHERE something = true,
       @attach_query_result_as_file = 1,
       @query_attachment_filename = 'Weekly_Data.txt'

На вкладке "Общие" задания владелец является пользователем God-Mode sql. Должен иметь неограниченные привилегии.

На этом этапе раскрывающийся список "Запуск от имени" пуст. Я понятия не имею, как это изменить.

В приведенном выше коде шага @profile_name я попробовал две вещи. Когда я предпринял попытку "отправить тестовое сообщение" с помощью компонента Database Mail в Management Studio, все работало хорошо, и пользователь, который он использовал, был, скажем, "USERX". Я установил Мастер почты базы данных с помощью, скажем, "USERY". Я попытался изменить @profile_name на USERX и USERY без видимых различий.

Вот ошибка, которую я получаю. Это сбивает с толку, потому что я (сознательно) не просил его использовать этого пользователя: Выполнено от имени пользователя: NT AUTHORITY\SYSTEM. Неверное имя профиля

Я попробовал несколько вещей. В профиле безопасности в мастере Database Mail единственным видимым пользователем является USERX (тест, успешно использованный для отправки почты, как описано выше). USERY не появляется. Я пробовал в мастере Database Mail, в View Change и т. Д. Account, повозившись там. Единственный пользователь, который появляется здесь, это USERY! Нет USERX! Я очень смущен. Я попытался установить USERY SMTP auth для Windows, Basic и Anonymous безрезультатно.

Я прочитал, что вам нужно настроить в Profile Security различных пользователей, таких как NT AUTHORITY \ SYSTEM, но это также не отображается, равно как и NETWORK.

Любые предложения приветствуются и очень ценятся.

РЕДАКТИРОВАТЬ: АГА! USERX - ПРОФИЛЬ, USERY - УЧЕТНАЯ ЗАПИСЬ... оба в порядке. Тестовое письмо использовало профиль USERX в учетной записи USERY. Поэтому я думаю, мне нужно установить USERX в качестве @profile_name, но это не решает проблему. Он по-прежнему использует NT AUTHORITY \ SYSTEM по некоторым причинам.

1 ответ

Я дурак. В ШАГЕ я сказал ему использовать db, которую будет использовать запрос select, а не msdb. Теперь это работает.

Другие вопросы по тегам