【发布时间】:2010-10-01 01:40:08
【问题描述】:
我需要向开发人员授予sp_helptext 权限,以便他们可以检查存储过程。有人可以请告诉我我该怎么做。
谢谢, 克里斯汀
【问题讨论】:
标签: sql-server permissions grant
我需要向开发人员授予sp_helptext 权限,以便他们可以检查存储过程。有人可以请告诉我我该怎么做。
谢谢, 克里斯汀
【问题讨论】:
标签: sql-server permissions grant
语法是
Grant Execute on sp_helptext to user
并且必须以master作为当前数据库执行。
您也可以通过 GUI 执行此操作,方法是右键单击用户或 proc 并转到属性。具体步骤取决于您使用的是企业管理器还是 sql management studio。
或者将它们添加到已经拥有权限的角色中,公开是最低要求。
exec sp_addrolemember 'public', 'user'
【讨论】:
我不是 sql 专家,但我想开发人员还需要读取/执行他们正在获取文本的存储过程的权限。
【讨论】:
命令的格式需要是
grant execute on sp_helptext to [DomainName\UserName] ;
【讨论】:
Permissions on server scoped catalog views or system stored procedures or extended stored procedures can be granted only when the current database is master.
我认为grant execute on sp_helptext 是完全错误的方法。正如 Jesus Lopez 所说的here,如果您想授予用户查看所有对象定义的权限,您必须使用
GRANT VIEW DEFINITION TO your_database_user
或者如果你想让用户看到特定对象的对象定义,你必须使用
GRANT VIEW DEFINITION ON dbo.YourProcedure TO your_database_user。
请注意,首先您必须在数据库中添加现有服务器login 作为新的user。然后,您将能够选择已创建新用户的目标数据库,然后使用GRANT VIEW DEFINITION 语句授予他/她的权限。
【讨论】: