SQL Server 2005 - 授予创建存储过程的权限(但不授予其他对象)

发布于 2024-07-08 10:26:02 字数 194 浏览 7 评论 0原文

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

“指定的架构名称“dbo”不存在,或者您无权使用它。”

有什么建议么?

I want to grant a user permission to create, alter, and execute stored procedures, but without the ability to create other database objects. I excluded them from the role db_ddladmin, but explicitly granted the permissions "Create procedure" and "Execute". These permssions appear in the effective permissions list. However, when I try to create a stored procedure with this login, I get the following error:

"The specified schema name "dbo" either does not exist or you do not have permission to use it."

Any suggestions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

走过海棠暮 2024-07-15 10:26:03

用户可以在他们拥有的模式中创建过程。 因此您可以为用户设置一个架构来进行开发工作。 然后,如果需要是 dbo,管理员可以在开发完成后将其放在那里。

A user can create procedures in a schema that they own. So you can set up a schema for the user to do development work. Then, if it needs to be dbo, the admin can put it there when development is done.

一个人的旅程 2024-07-15 10:26:03

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

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

If you can create (or alter) and execute a stored procedure, you can do anything.

Execute on a stored procedure implies all other permissions within the context of that procedure. So if you can change a procedure and run it, there's no point in restricting anything else. You could just make the procedure act as a proxy on your behalf.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文