Назад | Перейти на главную страницу

Отправка электронной почты из запланированного задания агента SQL Server

Я запланировал задание в агенте SQL Server, которое отправляет результат запроса по электронной почте. Если я выполняю хранимую процедуру из SSMS, она работает нормально. Но агент SQL Server не может отправлять электронные письма.

Вот полученная мной ошибка.

Следующая учетная запись запланирована как владелец агента SQL Server в диспетчере конфигурации SQL Server: NT AUTHORITY \ NETWORK SERVICE.

Что я могу сделать, чтобы назначить этому пользователю права?

Сообщение

Выполняется как пользователь: NT AUTHORITY \ NETWORK SERVICE. Ошибка форматирования запроса, возможно, неверные параметры [SQLSTATE 42000] (Ошибка 22050). Шаг не удался.

Вы также можете попробовать предоставить доступ к xp_sysmail_format_query к NT AUTHORITY\NETWORK SERVICE:

USE master
--Create user in master if necessary
CREATE USER [nt authority\system] FOR LOGIN [nt authority\system]
GO
--Grant execute to the stored procedure that's failing
GRANT EXECUTE ON [xp_sysmail_format_query] TO [NT AUTHORITY\NETWORK SERVICE]
GO

Однако лучше всего запустить службу агента SQL в контексте пользователя домена, который имеет соответствующий доступ к вашим сетевым ресурсам. Это намного проще, чем использование локальных учетных записей.