授予对存储过程的权限

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

本主题内容

  • 开始之前:

    限制和局限

    安全性

  • 若要授予对存储过程的权限,请使用:

    SQL Server Management Studio

    Transact-SQL

开始之前

限制和局限

  • 不能使用 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.uspUpdateEmployeeHireInfo 的 EXECUTE 权限。

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

用于“返回首页”链接的箭头图标[返回页首]

请参阅

参考

sys.fn_builtin_permissions (Transact-SQL)

GRANT 对象权限 (Transact-SQL)

概念

创建存储过程

修改存储过程

删除存储过程

重命名存储过程