SQL Server从另一个数据库向用户授予EXECUTE权限

时间:2016-12-15 12:50:14

标签: sql sql-server database sql-server-2014

我有DatabaseADatabaseB。在DatabaseA UserA DatabaseB中,UserBUserA

EXECUTE已获得FunctionADatabaseA标量函数UserB的权限,EXECUTE拥有ProcedureB存储过程DatabaseB的权限在ProcedureB

现在FunctionA使用UserB,因此当ProcedureB执行GRANT EXECUTE ON DatabaseA.schema.FunctionA TO UserB 时,他会收到错误

  

对象FunctionA

上的EXECUTE权限被拒绝

但是当我试图通过

授予他许可时
FunctionA

我收到另一个错误:

  

无法找到用户UserB,因为它不存在或您没有权限

如何解决这个问题?有没有办法ProcedureBUserA内执行UserB的权限?或者以其他方式向{{1}}授予执行权限?

1 个答案:

答案 0 :(得分:0)

你很亲密!错误消息告诉您UserB中不存在UserB,因此您需要创建它。一旦你这样做,你应该能够授予权限,一切都应该有效。