本主题介绍如何使用 SQL Server Management Studio 或 Transact-SQL 向 SQL Server 2014 中的主体授予权限。
本主题内容
准备工作:
若要向主体授予权限,请使用:
在您开始之前
局限性与限制
请考虑以下最佳做法,以便更轻松地管理权限。
授予角色的权限,而不是单个登录名或用户。 当一个人被另一个人替换时,请从角色中删除离开的个人,并将新个人添加到该角色。 可能与该角色关联的许多权限将自动提供给新个人。 如果组织中的几个人需要相同的权限,将他们添加到角色中就会授予他们相同的权限。
将类似的安全对象(表、视图和过程)配置为由架构拥有,然后向架构授予权限。 例如,工资单架构可能拥有多个表、视图和存储过程。 通过授予对架构的访问权限,可以同时授予执行工资函数所需的所有权限。 有关可授予哪些安全对象权限的详细信息,请参阅 安全对象。
安全
权限
授权者(或使用 AS 选项指定的主体)必须拥有带有 GRANT OPTION 的具体权限本身,或拥有包含要授予权限的更高级权限。 sysadmin 固定服务器角色的成员可以授予任何权限。
使用 SQL Server Management Studio
向主体授予权限
在对象资源管理器中,展开包含要向其授予权限的对象的数据库。
注释
这些步骤专门处理向存储过程授予权限,但你可以使用类似的步骤向表、视图、函数和程序集以及其他安全对象添加权限。 有关详细信息,请参阅 GRANT (Transact-SQL)
展开 可编程性 文件夹。
展开 “存储过程” 文件夹。
右键单击存储过程并选择“ 属性”。
在 “存储过程属性 -stored_procedure_name ”对话框中,在“选择页面”下,选择“ 权限”。 使用此页可将用户或角色添加到存储过程,并指定用户或角色拥有的权限。
完成后,单击 “确定” 。
使用 Transact-SQL
向主体授予权限
在 “对象资源管理器” 中,连接到某个数据库引擎实例。
在标准栏上,单击“新建查询”。
将以下示例复制并粘贴到查询窗口中,然后单击 执行。
-- Grants EXECUTE permission on stored procedure HumanResources.uspUpdateEmployeeHireInfo to an application role called Recruiting11. USE AdventureWorks2012; GO GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo TO Recruiting11; GO
有关详细信息,请参阅 GRANT(Transact-SQL)和 GRANT 对象权限(Transact-SQL)。