本主题介绍如何使用 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
授予对存储过程的权限
在对象资源管理器中,连接到 数据库引擎 的实例,然后展开该实例。
展开 “数据库”,展开过程所属的数据库,然后展开 “可编程性”。
展开 存储过程,右键单击要向其授予权限的过程,然后单击“ 属性”。
从 存储过程属性中,选择 “权限 ”页。
若要授予用户、数据库角色或应用程序角色的权限,请单击“ 搜索”。
在 “选择用户或角色”中,单击 “对象类型 ”以添加或清除所需的用户和角色。
单击“ 浏览 ”以显示用户或角色的列表。 选择应向其授予权限的用户或角色。
在 “显式权限” 网格中,选择要授予指定用户或角色的权限。 有关权限的说明,请参阅权限(数据库引擎)。
选择 “授予 ”表示将授予被授权者指定的权限。 选择 “授予权限” 表示被授权者还可以向其他主体授予指定的权限。
使用 Transact-SQL
授予对存储过程的权限
连接到数据库引擎。
在标准栏中,单击“新建查询”。
将以下示例复制并粘贴到查询窗口中,然后单击 执行。 此示例授予名为
Recruiting11的应用程序角色对存储过程HumanResources.uspUpdateEmployeeHireInfo的EXECUTE权限。
USE AdventureWorks2012;
GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo
TO Recruiting11;
GO
另请参阅
sys.fn_builtin_permissions(Transact-SQL)
GRANT 对象权限 (Transact-SQL)
创建存储过程
修改存储过程
删除存储过程
重命名存储过程