授予对数据库对象的访问权限

作为管理员,你可以从Products表和vw_Names视图执行SELECT,并执行pr_Names过程;然而,玛丽不能。 若要授予 Mary 所需的权限,请使用 GRANT 语句。

过程标题

  1. 执行以下语句以授予Marypr_Names存储过程的EXECUTE权限。

    GRANT EXECUTE ON pr_Names TO Mary;  
    GO  
    

在此方案中,Mary 只能使用存储过程访问 Products 表。 如果希望 Mary 能够针对视图执行 SELECT 语句,则还必须执行 GRANT SELECT ON vw_Names TO Mary。 若要删除对数据库对象的访问,请使用 REVOKE 语句。

注释

如果表、视图和存储过程不归同一架构所有,则授予权限会变得更加复杂。

关于 GRANT

必须具有 EXECUTE 权限才能执行存储过程。 必须具有 SELECT、INSERT、UPDATE 和 DELETE 权限才能访问和更改数据。 GRANT 语句还用于其他权限,例如创建表的权限。

课程中的下一个任务

摘要:配置对数据库对象的权限

另请参阅

GRANT (Transact-SQL)
REVOKE (Transact-SQL)