数据库邮件故障排除:拒绝了对 sp_send_dbmail 的权限

本主题介绍如何对报告尝试发送数据库邮件的用户不具有执行 sp_send_dbmail 的权限的错误消息进行故障排除。

错误文本如下:

EXECUTE permission denied on object 'sp_send_dbmail', 
database 'msdb', schema 'dbo'.

若要发送数据库邮件,用户必须是 msdb 数据库中的用户,并且是 msdb 数据库中的 DatabaseMailUserRole 数据库角色的成员。若要将 msdb 用户或组添加到此角色中,请使用 SQL Server Management Studio 或对需要发送数据库邮件的用户或角色执行以下语句。

EXEC msdb.dbo.sp_addrolemember @rolename = 'DatabaseMailUserRole'
    ,@membername = '<user or role name>';
GO