【问题标题】:SQL Server 2008 Access LevelsSQL Server 2008 访问级别
【发布时间】:2013-05-07 05:12:05
【问题描述】:

我有 3 个存储过程 -- SP1, SP2 & SP3.

SP2SP3SP1 中被调用。

如果我创建一个 DBRole(和一个用户 ID)并单独提供对 SP1 的 exec 访问,然后执行 SP1,将 SP2 & SP3 在没有权限问题的情况下执行?

或者我们是否也需要提供对 SP2 和 SP3 的显式执行访问权限?

【问题讨论】:

    标签: sql sql-server-2008


    【解决方案1】:

    您需要访问所有这些程序,但您可以使用 EXECUTE AS 'some other user' 来获得其他程序的权限:

    MSDN Documentation

    【讨论】:

    • 非常感谢您的回复。
    【解决方案2】:

    如果两个对象在数据库中具有相同的所有者,并且一个对象 参照另一方,形成所有权链。在这种情况下,SQL 服务器只会检查引用对象的权限。它不会 检查引用对象的权限。

    Example How Permissions Are Checked in a Chain

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-13
      • 1970-01-01
      • 1970-01-01
      • 2011-04-20
      • 2011-09-24
      • 1970-01-01
      • 2011-08-02
      • 2013-07-04
      相关资源
      最近更新 更多