【问题标题】:Specific rights to GRANT, REVOKE or DENY on stored procedures对存储过程的 GRANT、REVOKE 或 DENY 的特定权限
【发布时间】:2009-03-27 14:48:34
【问题描述】:

在 SQL Server 2008 数据库上,我想授予用户对存储过程类型对象(不使用 db_securityadmin 数据库角色)的 GRANT、REVOKE 和 DENY 权限。我怎样才能做到这一点?谢谢!

桑德尔

【问题讨论】:

    标签: sql-server permissions


    【解决方案1】:

    通过另一个存储过程包装 GRANT/REVOKE/DENY:

    • 具有 EXECUTE AS OWNER(或用户,如果不同的架构)以避免用户的直接权限
    • 检查存储过程中的目标对象
    • 检查用户是否被允许或某个角色的成员等

    否则,没有办法根据对象类型分离权限

    【讨论】:

    • 是的,这可能比我相当老套的答案更干净...... :)
    【解决方案2】:

    最简单的方法可能是将存储过程分组到一个单独的架构中,并在该架构上授予所需的用户 CONTROL 权限。

    可能还有其他方法可以实现您想要的,但我不知道它们。

    【讨论】:

      猜你喜欢
      • 2013-04-30
      • 2012-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多