授予对存储过程的权限
适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW)
本文说明如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中授予对存储过程的权限。 可以为数据库中的现有用户、数据库角色或应用程序角色授予权限。
限制和局限
- 不能使用 SQL Server Management Studio 授予对系统过程或系统函数的权限。 使用 GRANT 对象权限 (Transact-SQL)。
权限
授权者(或用 AS
选项指定的主体)必须具有带 GRANT OPTION
的相同权限,或具有隐含所授予权限的更高权限。 需要拥有对该过程所属架构的 ALTER
权限,或对该过程的 CONTROL
权限。 有关详细信息,请参阅 GRANT 对象权限。
使用 SQL Server Management Studio
授予对存储过程的权限
在对象资源管理器中,连接到 数据库引擎 的实例,然后展开该实例。
展开 “数据库” 、过程所属的数据库以及 “可编程性” 。
展开“存储过程”,右键单击要针对其授予权限的过程,再选择“属性”。
在 “存储过程属性”中,选择 “权限” 页。
若要向用户、数据库角色或应用程序角色授予权限,请选择“搜索”。
在“选择用户或角色”中选择“对象类型”,添加或清除所需的用户和角色。
单击“浏览”来显示用户或角色列表。 选择应对其授予权限的用户或角色。
在 “显式权限” 网格中,选择要为指定的用户或角色授予的权限。 有关权限的说明,请参阅权限(数据库引擎)。
选择 “授予” 指示要为被授权者授予指定的权限。 选择 “具有授予权限” 指示被授权者还可以将指定权限授予其他主体。
使用 Transact-SQL
授予对存储过程的权限
连接到 数据库引擎。
在标准栏上,选择“新建查询”。
将以下示例复制并粘贴到查询窗口中,然后选择“执行”。 该示例授予名为
EXECUTE
的应用程序角色对存储过程HumanResources.uspUpdateEmployeeHireInfo
的Recruiting11
权限。
USE AdventureWorks2022;
GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo
TO Recruiting11;
GO
若要授予对架构中所有存储过程的权限
连接到 数据库引擎。
在标准栏上,选择“新建查询”。
将以下示例复制并粘贴到查询窗口中,然后选择“执行”。 此示例向名为
Recruiting11
的应用程序角色授予对HumanResources
架构中已存在或将存在的所有存储过程的EXECUTE
权限。
USE AdventureWorks2022;
GRANT EXECUTE ON SCHEMA::HumanResources
TO Recruiting11;
GO