我需要向sp_helptext
开发人员授予权限,以便他们可以检查存储过程。有人可以请,让我知道我该怎么做。
谢谢,克里斯汀
我认为这grant execute on sp_helptext
是完全错误的做法。正如Jesus Lopez 所说,如果您想授予用户查看所有对象定义的权限,您必须使用
GRANT VIEW DEFINITION TO your_database_user
或者如果您想让用户查看特定对象的对象定义,您必须使用
GRANT VIEW DEFINITION ON dbo.YourProcedure TO your_database_user
.
请注意,首先您必须在数据库中添加现有服务器登录作为新用户。然后,您将能够选择创建新用户的目标数据库,然后通过GRANT VIEW DEFINITION
语句授予他/她的权限。
语法是
Grant Execute on sp_helptext to user
并且必须以master作为当前数据库执行。
您也可以通过 GUI 执行此操作,方法是右键单击用户或 proc 并转到属性。具体步骤取决于您使用的是企业管理器还是 sql management studio。
或者将它们添加到已经拥有权限的角色中,public 是最低要求。
exec sp_addrolemember 'public', 'user'
命令的格式需要是
grant execute on sp_helptext to [DomainName\UserName] ;
我不是 sql 专家,但我想开发人员还需要读取/执行他们正在获取文本的存储过程的权限。