我使用SQL Server Management studio创建了一个存储过程。
我能够创建它,但如果我尝试右键单击存储过程并执行它,我将获得permission denied error# 229
。
我有管理员权限。我该如何执行此程序。
答案 0 :(得分:2)
如果您真的以 sa 进行连接,则不应该这样做,如果您不这样做,可能是您的用户并不真正拥有所有权利。
如果你没有看到存储的主体,也很难理解这个问题,以防你在那里做任何特别的事情。
无论如何在这个链接上:http://www.sqlservercentral.com/Forums/Topic463688-146-1.aspx有人在讨论相同的错误,并且有一些SQL命令向下滚动页面,其中一些人声称已经解决了这个问题。
答案 1 :(得分:1)
您确定自己拥有足够的权限吗? Error 229 means that you don't
您的用户至少需要EXECUTE
存储过程的权限:
Stored Procedure and Permissions - Is EXECUTE enough?
以下是检查您是否获得许可的方法:
MS SQL Server: Check to see if a user can execute a stored procedure
答案 2 :(得分:0)
确认您没有将用户添加到任何拒绝角色,例如db_denydatareader
。
答案 3 :(得分:0)
使用此命令为SQL登录添加执行权限:
GRANT EXECUTE ON SPNAME TO UserName;
GO