我有3个存储过程 - SP1, SP2 & SP3.
SP2 和 SP3 。
如果我创建 DBRole (和用户ID)并仅向SP1提供exec 访问,并执行 SP1 ,则会 SP2& SP3 在没有权限问题的情况下执行?
或者我们是否需要提供显式执行SP2和& SP3也是?
答案 0 :(得分:0)
您需要全部访问它们,但您可以使用EXECUTE AS'其他用户'来获得其他程序的权限:
<强> MSDN Documentation 强>
答案 1 :(得分:0)
如果两个对象在数据库中具有相同的所有者,则具有一个对象 引用另一个,形成所有权链。在这种情况下,SQL 服务器只会检查引用对象的权限。它不会 检查被引物体的权限。