在SQL Server 2005中,我希望一个名为LimitedUser的用户只能运行一个proc: 授权执行[usp_RunETL]至[LimitedUser]
但是,proc需要能够做所有事情 - 更新,删除,插入,执行......一切。如何在不必将所有权限授予LimitedUser的情况下执行此操作?
答案 0 :(得分:3)
LimitedUser只需要运行sproc的权限。他们不需要任何其他权限。
答案 1 :(得分:0)
您只需向受限用户授予EXEC EXEC。只要用户具有存储过程的权限,它就会忽略/覆盖过程内部操作的权限。
我会非常小心这样做,这听起来像是一个很大的潜在安全漏洞。通常,您将使用多个过程来灵活地根据需要调整权限。我建议为过程或基础表和视图分配权限,而不是决定只有一个 super 过程。