授予对存储过程的权限

本主题介绍如何使用 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. 将以下示例复制并粘贴到查询窗口中,然后单击 执行。 此示例授予名为Recruiting11的应用程序角色对存储过程HumanResources.uspUpdateEmployeeHireInfoEXECUTE权限。

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

另请参阅

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