SQL授予SP_SEND_DBMAIL的权限

时间:2014-04-25 21:18:49

标签: sql sql-server

所以我想允许域用户访问发送db电子邮件。我已使用 exec sp_addrolemember' DatabaseMailUserRole' DOMAIN \ user' 授予了对系统角色DatabaseMailUserRole的访问权限。

奇怪的是,当我冒充 LOGIN (EXECUTE AS LOGIN =' DOMAIN \ user')时,它现在可以正常工作了。但是,当我冒充 USER (EXECUTE AS USER =' DOMAIN \ user')时,它会因访问被拒绝而失败。

需要做什么才能授予对USER的访问权限而不仅仅是LOGIN?

1 个答案:

答案 0 :(得分:0)

我认为你不能。从EXECUTE AS的文档中(在" USER"参数的解释中):

  

指定要模拟的上下文是当前数据库中的用户。 模拟的范围仅限于当前数据库。到数据库用户的上下文切换不会继承该用户的服务器级权限。

(强调我的)因为角色在msdb中,它构成了数据库之外的权限,因此不会传播。你想要完成什么?