用于GRANT的T-SQL仅查看存储过程

时间:2014-03-06 11:32:22

标签: sql-server tsql

如何编写或授予用户仅查看存储过程的权限?我们不希望用户删除,编辑或修改过程。

2 个答案:

答案 0 :(得分:0)

使用存储过程,您要授予EXEC权限。

GRANT EXEC ON dbo.Proc_Name TO UserName

除非向用户授予其他权限,否则用户将无法修改或删除该过程。

答案 1 :(得分:0)

好的,你必须做两件事来实现你想要的东西。

首先,您必须创建一个执行角色,授予用户执行和查看数据库中的存储过程的权限。

CREATE ROLE db_executor
GRANT EXECUTE TO db_executor
EXEC sp_addrolemember 'db_executor', 'username'

您必须向用户授予以这种方式查看它们的权限,这也在本文中进行了描述Grant permissions to view stored procedure text

GRANT VIEW DEFINITION ON YourStoredProcedureName TO [UserName]