小编S. *_*ker的帖子

裂脑管理员

我已被任命为我们组织的 DBA。高级官员要求我允许 IT 的两个部门完全控制他们的数据库。他们要求以下布局:

      Admins
SubAdmin  SubAdmin
Run Code Online (Sandbox Code Playgroud)

这些SubAdmins应该能够在他们自己的数据库上执行所有可能的功能,但不应该能够在任何其他数据库上执行任何功能。

这不包括服务器级别的事情,例如终止会话、构建登录触发器、更改资源调控器设置等,但它们应该能够创建数据库。

我为 SubAdmin 组创建了一个服务器角色,该角色授予CREATE ANY DATABASE. 这很有效,除了当 SubAdmin 尝试将新创建的数据库的所有者更改为sa. 他们不能,因为他们无法模拟该sa帐户。

仅编写一些将数据库所有者更改为sa每晚的powershell 脚本会更容易吗?


sa在此示例中使用该帐户仅作为演示。我们希望数据库所有者是一个通用的、低权限的帐户。因此,当 SubAdmin 创建数据库时,他们:

  • 创建数据库
  • 授予他们的管理员组 db_owner 权限
  • 然后应该执行ALTER AUTHENTICATION将数据库所有者更改为通用的低权限帐户

数据库都在同一个服务器和同一个实例上。

sql-server permissions architecture

4
推荐指数
1
解决办法
140
查看次数

标签 统计

architecture ×1

permissions ×1

sql-server ×1