4

我想授予用户创建、更改和执行存储过程的权限,但不能创建其他数据库对象。我将它们排除在角色 db_ddladmin 之外,但明确授予了“创建过程”和“执行”权限。这些权限出现在有效权限列表中。但是,当我尝试使用此登录名创建存储过程时,出现以下错误:

“指定的架构名称“dbo”要么不存在,要么您没有使用它的权限。

有什么建议么?

4

2 回答 2

5

用户可以在他们拥有的模式中创建过程。所以你可以为用户设置一个模式来做开发工作。然后,如果需要 dbo,管理员可以在开发完成时将其放在那里。

于 2008-10-22T18:00:14.350 回答
2

如果您可以创建(或更改)并执行存储过程,那么您可以做任何事情。

对存储过程执行意味着该过程上下文中的所有其他权限。因此,如果您可以更改一个程序运行它,那么限制其他任何内容都没有意义。您可以让该程序代表您充当代理。

于 2008-10-22T17:44:50.747 回答