授予对存储过程的权限

本主题介绍如何使用 SQL Server Management Studio 或 Transact-SQL 授予对 SQL Server 2014 中存储过程的权限。 可以为数据库中的现有用户、数据库角色或应用程序角色授予权限。

本主题内容

开始之前

限制和局限

  • 不能使用 SQL Server Management Studio 授予对系统过程或系统函数的权限。 改为使用 GRANT 对象权限

安全性

权限

授权者(或用 AS 选项指定的主体)必须具有带 GRANT OPTION 的相同权限,或具有隐含所授予权限的更高权限。 需要拥有对该过程所属架构的 ALTER 权限,或对该过程的 CONTROL 权限。 有关详细信息,请参阅 GRANT 对象权限 (Transact-SQL)

使用 SQL Server Management Studio

授予对存储过程的权限

  1. 在对象资源管理器中,连接到 数据库引擎 的实例,然后展开该实例。

  2. 展开 “数据库” 、过程所属的数据库以及 “可编程性”

  3. 展开“存储过程”,右键单击要针对其授予权限的过程,再单击“属性”。

  4. “存储过程属性” 中,选择 “权限” 页。

  5. 若要为用户、数据库角色或应用程序角色授予权限,请单击 “搜索”

  6. “选择用户或角色” 中,单击 “对象类型” 以添加或清除所需的用户和角色。

  7. 单击 ”浏览“ 以显示用户或角色列表。 选择应对其授予权限的用户或角色。

  8. “显式权限” 网格中,选择要为指定的用户或角色授予的权限。 有关权限的说明,请参阅权限(数据库引擎)

选择 “授予” 指示要为被授权者授予指定的权限。 选择 “具有授予权限” 指示被授权者还可以将指定权限授予其他主体。

“使用 Transact-SQL”

授予对存储过程的权限

  1. 连接到 数据库引擎。

  2. 在标准菜单栏上,单击 “新建查询”

  3. 将以下示例复制并粘贴到查询窗口中,然后单击“执行” 。 该示例授予名为 EXECUTE 的应用程序角色对存储过程 HumanResources.uspUpdateEmployeeHireInfoRecruiting11权限。

USE AdventureWorks2012;   
GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo  
    TO Recruiting11;  
GO  

另请参阅

sys.fn_builtin_permissions (Transact-SQL)
GRANT 对象权限 (Transact-SQL)
创建存储过程
修改存储过程
删除存储过程
重命名存储过程