我有一个存储过程。
我在远程服务器中使用sqlcmd
执行SP,但问题在windows administrator
帐户中。
当我尝试不同的用户它不工作并且返回错误时工作正常。
请检查以下sqlcmd命令和错误
sqlcmd -S servername -E -d dbname -Q "EXEC [dbo].[sp_name]"
错误是
Msg 229, Level 14, State 5, Server servername, Procedure sap.get_status_data, Line 1
The EXECUTE permission was denied on the object 'sp_name', database 'dbname', schema 'dbo'.
我不知道Windows /数据库管理,所以如果它与窗口级别权限或数据库级别权限有关。
请帮助我,如果它是Windows权限,如何提供或是否是数据库权限,如何提供。
答案 0 :(得分:1)
您使用的是哪个版本的sql server ..
尝试这个命令:
将dbo.sproc上的执行权授予您的用户;
dbo架构包含更多用户sprocs并被视为系统(读取“内部”)架构(使用sql2005和2008 MS引入包含其新系统内容的sys架构)
如果您仍然在dbo架构中有对象,我建议您继续单独授予它们 - 或者 - 如果可以(以及我的偏好) - 将它们迁移到新架构。