我已被任命为我们组织的 DBA。高级官员要求我允许 IT 的两个部门完全控制他们的数据库。他们要求以下布局:
Admins
SubAdmin SubAdmin
Run Code Online (Sandbox Code Playgroud)
这些SubAdmins应该能够在他们自己的数据库上执行所有可能的功能,但不应该能够在任何其他数据库上执行任何功能。
这不包括服务器级别的事情,例如终止会话、构建登录触发器、更改资源调控器设置等,但它们应该能够创建数据库。
我为 SubAdmin 组创建了一个服务器角色,该角色授予CREATE ANY DATABASE. 这很有效,除了当 SubAdmin 尝试将新创建的数据库的所有者更改为sa. 他们不能,因为他们无法模拟该sa帐户。
仅编写一些将数据库所有者更改为sa每晚的powershell 脚本会更容易吗?
我sa在此示例中使用该帐户仅作为演示。我们希望数据库所有者是一个通用的、低权限的帐户。因此,当 SubAdmin 创建数据库时,他们:
ALTER AUTHENTICATION将数据库所有者更改为通用的低权限帐户数据库都在同一个服务器和同一个实例上。