Какие разрешения необходимы учетной записи службы для использования почты базы данных?

9

У меня есть экземпляр SQL Server 2012 под управлением учетной записи управляемой службы. Я настроил почту базы данных с одной учетной записью и пытаюсь отправить тестовое письмо, но я получаю некоторые ошибки в журналах событий сервера:

Экземпляр компонента Database Engine = MYINSTANCE; PID почты = 2132; Сообщение об ошибке: не удалось обновить базу данных. Причина: отказано в разрешении EXECUTE для объекта 'sysmail_logmailevent_sp', базы данных 'msdb', схемы 'dbo'.

Экземпляр компонента Database Engine = MYINSTANCE; PID почты = 2212; Тип исключения: Microsoft.SqlServer.Management.SqlIMail.Server.Common.BaseException Сообщение. Ошибка чтения в базе данных. Причина: было отказано в разрешении EXECUTE для объекта 'sp_readrequest', базы данных 'msdb', схемы 'dbo'. Данные: System.Collections.ListDictionaryInternal TargetSite: Microsoft.SqlServer.Management.SqlIMail.Server.Objects.QueueItem GetQueueItemFromCommand (System.Data.SqlClient.SqlCommand) HelpLink: NULL Источник: DatabaseMailEng

Если я сделаю учетную запись, выполняющую процесс SQL Server, системным администратором, эта ошибка исчезнет, ​​и письма будут успешно отправлены. Тем не менее, все исследования, которые я провел, показывают, что предоставление этой учетной записи DatabaseMailUserRoleроли в msdbбазе данных должно быть достаточным. Я сделал это и до сих пор получаю те же ошибки.

Я посмотрел в BOL, но ничего не смог найти.

Mansfield
источник
Сервер SQL и агент SQL работают под одной учетной записью?
Кин Шах
@кин Нет, отдельные учетные записи (обе управляемые учетные записи служб).
Мэнсфилд
Вы можете попробовать запустить агент SQL с той же учетной записью службы, что и сервер SQL - просто исключить его и проверить, работает ли он?
Кин Шах
@Kin Это имеет разрешение сисадмина, так что это будет работать. Я дал разрешение моей основной учетной записи службы на данный момент, и все работает - мне просто интересно знать, если это слишком много.
Мэнсфилд

Ответы:

4

Для учетной записи службы агента SQL Server требуются разрешения sysadmin для экземпляра.

Microsoft KB

Набиль Беккер
источник