向主体授予权限

本主题介绍如何使用 SQL Server Management Studio 或 Transact-SQL 向 SQL Server 2014 中的主体授予权限。

本主题内容

在您开始之前

局限性与限制

请考虑以下最佳做法,以便更轻松地管理权限。

  • 授予角色的权限,而不是单个登录名或用户。 当一个人被另一个人替换时,请从角色中删除离开的个人,并将新个人添加到该角色。 可能与该角色关联的许多权限将自动提供给新个人。 如果组织中的几个人需要相同的权限,将他们添加到角色中就会授予他们相同的权限。

  • 将类似的安全对象(表、视图和过程)配置为由架构拥有,然后向架构授予权限。 例如,工资单架构可能拥有多个表、视图和存储过程。 通过授予对架构的访问权限,可以同时授予执行工资函数所需的所有权限。 有关可授予哪些安全对象权限的详细信息,请参阅 安全对象

安全

权限

授权者(或使用 AS 选项指定的主体)必须拥有带有 GRANT OPTION 的具体权限本身,或拥有包含要授予权限的更高级权限。 sysadmin 固定服务器角色的成员可以授予任何权限。

使用 SQL Server Management Studio

向主体授予权限

  1. 在对象资源管理器中,展开包含要向其授予权限的对象的数据库。

    注释

    这些步骤专门处理向存储过程授予权限,但你可以使用类似的步骤向表、视图、函数和程序集以及其他安全对象添加权限。 有关详细信息,请参阅 GRANT (Transact-SQL)

  2. 展开 可编程性 文件夹。

  3. 展开 “存储过程” 文件夹。

  4. 右键单击存储过程并选择“ 属性”。

  5. “存储过程属性 -stored_procedure_name ”对话框中,在“选择页面”下,选择“ 权限”。 使用此页可将用户或角色添加到存储过程,并指定用户或角色拥有的权限。

  6. 完成后,单击 “确定”

使用 Transact-SQL

向主体授予权限

  1. “对象资源管理器” 中,连接到某个数据库引擎实例。

  2. 在标准栏上,单击“新建查询”

  3. 将以下示例复制并粘贴到查询窗口中,然后单击 执行

    -- 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)。

另请参阅

主体(数据库引擎)