相关疑难解决方法(0)

如何在不同的数据库中为登录访问SQL Server数据库邮件过程?

我想知道如何在SQL Server中设置权限,以允许我的应用程序登录/角色能够使用发送电子邮件msdb.dbo.sp_send_dbmail.

我有一个数据库MyDb,一个MyUser角色成员的用户AppRole.我有一个myProc调用的存储过程msdb.dbo.sp_send_dbmail.如果我myProc在登录时执行,因为sa它一切正常,但如果我在登录时执行,因为MyUser我收到错误:

消息229,级别14,状态5,过程sp_send_dbmail,行1
对象'sp_send_dbmail',数据库'msdb',架构'dbo'上的EXECUTE权限被拒绝.

我的数据库没有TRUSTWORTHY ON,因此我认为我不能使用EXECUTE AS来模仿其他用户,例如使用EXECUTE AS OWNER创建myProc ...(MSDN参考)

因此,我认为我需要让我的用户也是msdb中的用户,但是我可以在角色级别执行此操作,还是需要使我的每个数据库用户也是msdb中的用户?

我正在使用的数据库邮件配置文件设置为public,因此我认为这与配置文件权限无关.

sql-server sql-server-2005 database-permissions database-mail

8
推荐指数
1
解决办法
3万
查看次数