sp_send_dbmail权限问题

这段时间处理SSIS服务器迁移的事情,在处理一个发送邮件的任务的时候,突然出现如下错误,

图片
 
 拒绝了对对象 'sp_send_dbmail' (数据库 'msdb',架构 'dbo')的 EXECUTE 权限
 
原来如此,难怪在SQL上面是无问题的.因为我指定了某一数据库用户.而该用户不具备MSDB库的 DatabaseMailUser 数据库角色权限. 查下资料.
 
解决办法有两种. 
1.在图形化界面下把 你的数据库用户映射到msdb数据库的 DatabaseMailUser 的角色成员.
图片
2.直接执行SQL语句 新建查询 目标库 MSDB 执行如下语句:
 
EXEC msdb.dbo.sp_addrolemember @rolename = 'DatabaseMailUserRole'
    ,@membername = '<user or role name>';
GO



网络资源来源:http://blog.qq.com/qzone/32697/1334912501.htm


图片

还有在设置权限后依然未能成功执行,提示'profile名称错误',即未在SQL SERVER中设置MAIL服务器。
设置MAIL服务器可以参照:http://www.dotblogs.com.tw/terrychuang/archive/2012/01/12/65538.aspx


图片


图片
需要将以上“专用配置文件”中的“访问”选项勾选,才可正常发送邮件。

原文地址:https://www.cnblogs.com/weschen/p/6264778.html