小编ACu*_*dio的帖子

使用只能看到 sa 的用户更改数据库所有权

首先,我要感谢社区创建了这样一个足智多谋的论坛。我多年来一直在使用 StackOverflow,最近也在 SE 上使用 dba,你很棒。我的大部分问题都是有人问过的,或者一些评论让我得到了答案,所以非常感谢!

话虽如此,我遇到了一个我认为不常见的问题。案例是:我被要求创建一个数据库,该数据库将作为新系统的中央数据库。该数据库将包含我工作的公司需要的信息(如付款信息、联系人、客户的电子邮件等)。

之后,每个新客户都将获得一个干净的数据库(他们将与我们的软件一起使用)。该数据库应该只有一个用户,并且该用户只能查看并连接到该特定数据库。这个数据库应该是部分包含的,用户不能有任何现有实例登录的链接。此外,由于某些原因,在新客户在我们的网站上完成注册后,创建数据库的过程应该通过一个过程完成,由某个事件触发。并且运行此过程的用户(我将称之为“创建者”)除了“数据库创建”之外不得拥有任何权限。

我已经介绍了这些步骤,创建一个用户,该用户只有权运行该过程并创建一个数据库。

问题是这个 CREATOR 用户是它创建的数据库的 db_owner。我想将所有权更改为 sa(或任何其他登录名,真的),但我不能,因为 CREATOR 除了自己和 sa 之外看不到任何人。我知道这是因为我不允许它看到其他登录信息。

那么,问题来了。如何在不违反这些规则的情况下将所有创建的 dbs 的所有权更改为 sa(我可以看到的那个),或者如何授予 CREATOR 查看(而不是删除或创建)其他用户的权限并更改每个用户的 db 所有者他创建的数据库?

提前致谢!

sql-server permissions

3
推荐指数
1
解决办法
553
查看次数

标签 统计

permissions ×1

sql-server ×1