SQL ошибка имени профиля при выполнении задания - PullRequest
0 голосов
/ 08 мая 2020

Я пытаюсь выполнить задание по расписанию, чтобы 25 числа каждого месяца он отправлял электронное письмо с некоторой информацией. Код, который у меня сейчас есть:

EXEC msdb.dbo.sp_send_dbmail
          @profile_name = 'Main DB Mail profile',
          @recipients = 'myemail@mydomain.net',
          @subject = 'PG25',
          @query = N'SELECT CONVERT(date, docdata), adoc, nome, etotal, aprovado FROM fo
                     WHERE aprovado LIKE "0" 
                       AND pdata BETWEEN DATEADD(yy, DATEDIFF(yy, 0, GETDATE()), 0) AND DATEFROMPARTS(YEAR(GETDATE()), MONTH(GETDATE()), 25)',
          @attach_query_result_as_file = 1,
          @query_attachment_filename = 'results.txt'

, но когда я выполняю этот код, я получаю эту ошибку:

Msg 14607, уровень 16, состояние 1, процедура msdb.dbo .sysmail_verify_profile_sp, строка 42 [Batch Start Line 5]
Имя профиля недействительно

Есть какие-нибудь мысли о том, как заставить это работать?

1 Ответ

3 голосов
/ 08 мая 2020

Вы должны убедиться, что имя профиля, который вы вызываете, должно существовать в Database Mail. Чтобы проверить, сделайте следующее:

  • Разверните Управление в вашем экземпляре;
  • Затем щелкните правой кнопкой мыши и Настроить Почту базы данных ;
  • После этого, если у вас уже есть определенный профиль, вы можете выбрать 4-й вариант, чтобы проверить имя профиля. В противном случае вам нужно определить новый (будьте осторожны с именем профиля, которое вы выбираете, потому что оно должно совпадать с тем, которое вы вызываете);

enter image description here

enter image description here

...