这段时间处理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
需要将以上“专用配置文件”中的“访问”选项勾选,才可正常发送邮件。
时间: 2024-11-16 21:28:22