我有DatabaseA
和DatabaseB
。在DatabaseA
UserA
DatabaseB
中,UserB
为UserA
。
EXECUTE
已获得FunctionA
中DatabaseA
标量函数UserB
的权限,EXECUTE
拥有ProcedureB
存储过程DatabaseB
的权限在ProcedureB
。
现在FunctionA
使用UserB
,因此当ProcedureB
执行GRANT EXECUTE ON DatabaseA.schema.FunctionA TO UserB
时,他会收到错误
对象FunctionA
上的EXECUTE权限被拒绝
但是当我试图通过
授予他许可时FunctionA
我收到另一个错误:
无法找到用户UserB,因为它不存在或您没有权限
如何解决这个问题?有没有办法ProcedureB
在UserA
内执行UserB
的权限?或者以其他方式向{{1}}授予执行权限?
答案 0 :(得分:0)
你很亲密!错误消息告诉您UserB中不存在UserB,因此您需要创建它。一旦你这样做,你应该能够授予权限,一切都应该有效。