为什么用户不能使用脚本在数据库(他们自己的)中创建表?也许是SP权限问题?

发布于 2024-10-14 09:11:31 字数 267 浏览 11 评论 0原文

我授予用户创建数据库的权限。他们能够创建一个他们现在拥有的数据库,但在运行脚本来创建表时遇到错误。我目前没有太多信息(抱歉!),所以我无法自己诊断,但也许在数据库权限方面更有经验的人可以提供帮助。

我假设他们正在使用一些内置存储过程,这是某种权限问题。我认为如果他们可以创建/拥有一个数据库,他们就可以做任何他们想做的事情,但一定有一些东西他们无权访问。

有什么建议吗?我是否需要授予他们“创建数据库”之外的权限?他们是否应该有权访问一些通用/标准的存储过程?他们需要访问“主”数据库吗?

I granted a user permission to create databases. They were able to create a database, which they now own, but they are getting errors when running a script to create the tables. I don't have a lot of information at this point (sorry!), so I can't diagnose it myself, but perhaps someone more experienced in database permissions could help.

I'm assuming they are using some built-in stored procedures and it's a some kind of permission issue. I assumed that if they can create/own a database, they can do whatever they want to it, but there must be something they don't have access to.

Any advise? Do I need to grant them permissions beyond "create database"? Is there some common/standard set of stored procedures they should have access to? Do they need access to "master" database?

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

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

发布评论

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

评论(1

開玄 2024-10-21 09:11:31

服务器级别“拥有”数据库与在数据库中“拥有”数据库不同

创建数据库后,运行此

CREATE USER foo FOR LOGIN foo
EXEC sp_addrolemember 'db_owner', 'foo'

命令 请参阅CREATE USER 了解更多信息

编辑:依赖从 CREATE DATABASE 到 dbo 的任何所有者映射是不可靠的:显式设置权限或使用 sp_changedbowner

"Owning" the database at the server level is different to being "db_owner" in the database

After creating the database, run this

CREATE USER foo FOR LOGIN foo
EXEC sp_addrolemember 'db_owner', 'foo'

See CREATE USER for more info

Edit: Relying on any owner to dbo mapping from CREATE DATABASE is unreliable: set permissions explicitly or use sp_changedbowner

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