¿Qué permisos necesita la cuenta de servicio para usar el correo de la base de datos?

9

Tengo una instancia de SQL Server 2012 que se ejecuta con una cuenta de servicio administrada. He configurado el correo de la base de datos con una cuenta y estoy tratando de enviar un correo electrónico de prueba, pero recibo algunos errores en los registros de eventos del servidor:

Instancia del motor de base de datos = MYINSTANCE; PID de correo = 2132; Mensaje de error: Error en la actualización de la base de datos. Motivo: se denegó el permiso EXECUTE en el objeto 'sysmail_logmailevent_sp', la base de datos 'msdb', el esquema 'dbo'.

Instancia del motor de base de datos = MYINSTANCE; PID de correo = 2212; Tipo de excepción: Microsoft.SqlServer.Management.SqlIMail.Server.Common.BaseException Mensaje: La lectura en la base de datos falló. Motivo: se denegó el permiso EXECUTE en el objeto 'sp_readrequest', la base de datos 'msdb', el esquema 'dbo'. Datos: System.Collections.ListDictionaryInternal TargetSite: Microsoft.SqlServer.Management.SqlIMail.Server.Objects.QueueItem GetQueueItemFromCommand (System.Data.SqlClient.SqlCommand) HelpLink: NULL Fuente: DatabaseMailEngine

Si hago que la cuenta que ejecuta el proceso de SQL Server sea un administrador de sistemas, este error desaparece y los correos se envían correctamente. Sin embargo, toda la investigación que he realizado sugiere que dar a esta cuenta el DatabaseMailUserRolepapel en la msdbbase de datos debería ser suficiente. He hecho esto y sigo recibiendo los mismos errores.

Eché un vistazo al BOL pero no pude encontrar nada.

Mansfield
fuente
¿El servidor sql y el agente sql se ejecutan con la misma cuenta?
Kin Shah
@kin No, cuentas separadas (ambas cuentas de servicio administrado).
Mansfield
¿puede intentar ejecutar el Agente SQL con la misma cuenta de servicio que el servidor sql, solo para descartarlo y verificar si funciona?
Kin Shah
@Kin Eso tiene permiso de administrador de sistemas, por lo que funcionará. Por ahora he dado permiso a mi cuenta de servicio principal de administrador de sistemas y todo está funcionando. Tengo curiosidad por saber si eso es demasiado.
Mansfield

Respuestas:

4

La cuenta de servicio del Agente SQL Server requiere permisos de administrador del sistema en la instancia.

Microsoft KB

Nabil Becker
fuente