将存储过程添加到本地数据库

时间:2014-07-11 15:37:44

标签: sql-server-2008 tsql stored-procedures sql-server-2008-r2 ssms

我已经通过SA登录创建了一个存储过程。当我以SA身份登录时,我可以执行此存储过程。但是当我通过登录登录时,我无法执行它,它会返回错误

  

对象'fcd_up_MBK',数据库'workdb',架构'dbo'上的EXECUTE权限被拒绝。

当我通过登录登录时,如何授予权限?

此外,我无法在Datebases > workdb > Programmability > Stored Procedures

中看到此存储过程

1 个答案:

答案 0 :(得分:1)

您需要以saGRANT EXECUTE身份登录您的架构

GRANT EXECUTE ON SCHEMA::userSchema TO db_execproc;

userSchema将是您的登录ID架构,您的登录ID是dbo的成员吗?如果是,则使用dbo作为架构。

或蛮力:

GRANT EXECUTE ON <procedurename> to <username>