Quais permissões a conta de serviço precisa para usar o correio do banco de dados?

9

Eu tenho uma instância do SQL Server 2012 em execução em uma conta de serviço gerenciado. Configurei o correio do banco de dados com uma conta e estou tentando enviar um email de teste, mas estou recebendo alguns erros nos logs de eventos do servidor:

Instância do mecanismo de banco de dados = MYINSTANCE; Mail PID = 2132; Mensagem de erro: Falha na atualização do banco de dados. Motivo: a permissão EXECUTE foi negada no objeto 'sysmail_logmailevent_sp', banco de dados 'msdb', esquema 'dbo'.

Instância do mecanismo de banco de dados = MYINSTANCE; Mail PID = 2212; Tipo de exceção: Microsoft.SqlServer.Management.SqlIMail.Server.Common.BaseException Mensagem: A leitura no banco de dados falhou. Motivo: a permissão EXECUTE foi negada no objeto 'sp_readrequest', banco de dados 'msdb', esquema 'dbo'. Dados: System.Collections.ListDictionaryInternal TargetSite: Microsoft.SqlServer.Management.SqlIMail.Server.Objects.QueueItem GetQueueItemFromCommand (System.Data.SqlClient.SqlCommand) HelpLink: NULL Fonte: DatabaseMailEngine

Se eu tornar a conta que executa o processo do SQL Server um administrador de sistema, esse erro desaparece e os e-mails são enviados com êxito. No entanto, toda a pesquisa que fiz sugere que atribuir a essa conta o DatabaseMailUserRolepapel no msdbbanco de dados deve ser suficiente. Eu fiz isso e ainda recebo os mesmos erros.

Dei uma olhada no BOL, mas não consegui encontrar nada.

Mansfield
fonte
O servidor sql e o agente sql estão sendo executados na mesma conta?
Kin Shah
@kin Não, contas separadas (ambas as contas de serviço gerenciado).
Mansfield
você pode tentar executar o SQL Agent com a mesma conta de serviço que o sql server - apenas para descartá-lo e verificar se isso funciona?
Kin Shah
@ Kin Que possui permissão de administrador de sistema, portanto, ele funcionará. Por enquanto, concedeu à sysadmin da minha conta de serviço principal e tudo está funcionando - só estou curioso para saber se isso é demais.
Mansfield

Respostas:

4

A conta de serviço do SQL Server Agent requer permissões sysadmin na instância.

Microsoft KB

Nabil Becker
fonte