在sqlserver中执行存储过程,它返回错误权限问题

时间:2014-02-27 08:44:40

标签: sql-server windows windows-server-2008

我有一个存储过程。

我在远程服务器中使用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权限,如何提供或是否是数据库权限,如何提供。

1 个答案:

答案 0 :(得分:1)

您使用的是哪个版本的sql server ..

尝试这个命令:

  

将dbo.sproc上的执行权授予您的用户;

dbo架构包含更多用户sprocs并被视为系统(读取“内部”)架构(使用sql2005和2008 MS引入包含其新系统内容的sys架构)

如果您仍然在dbo架构中有对象,我建议您继续单独授予它们 - 或者 - 如果可以(以及我的偏好) - 将它们迁移到新架构。