SQL Server 2008访问级别

时间:2013-05-13 08:13:23

标签: sql sql-server-2008

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

SP1 中调用

SP2 SP3

如果我创建 DBRole (和用户ID)并仅向SP1提供exec 访问,并执行 SP1 ,则会 SP2& SP3 在没有权限问题的情况下执行?

或者我们是否需要提供显式执行SP2和& SP3也是?

2 个答案:

答案 0 :(得分:0)

您需要全部访问它们,但您可以使用EXECUTE AS'其他用户'来获得其他程序的权限:

<强> MSDN Documentation

答案 1 :(得分:0)

  

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

Example How Permissions Are Checked in a Chain