我正在为多个单数据库应用程序建立共享开发实例。
我设想授予授权用户权限以允许他们需要执行的任何架构和数据修改,但希望阻止相同的用户向或发出ALTER DATABASE
命令。这是为了防止任何开发人员在未经 DBA 同意的情况下消耗额外的磁盘空间资源。ADD
MODIFY
FILEs
查看使用最少管理工作的方法,我认为我应该grant db_owner
向授权用户添加数据库或服务器触发器以阻止ALTER DATABASE
命令,除非它们来自 DBA 会话。
这行得通还是有更好/更安全的方法?
您可以将用户置于 db_ddladmin、db_datawriter 和 db_datareader 角色中。这将阻止他们修改数据库的权限,但可以酌情授予 db_securityadmin 或 db_accessadmin 角色,请记住,db_securityadmin 可能用于权限升级,但 db_accessadmin 可能无法满足您的需求。与往常一样,在将其部署到生产环境之前测试设置,以确保它限制了您想要的内容,同时又允许了您想要的内容。
如果目标是防止数据库增长,请确保在这些数据库上禁用自动增长。