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