我想授予我们 Web 开发团队中的某人在我们的开发和测试环境中授予其他用户(其他 Web 开发人员以及他们创建的应用程序用户)datareader、datawriter 和 exec sproc 的权限。
我需要给他什么才能实现这个目标?我想给他实现这个目标所需的最低限度的东西。
答案1
言谈圣经:
向灵活数据库角色添加成员需要下列操作之一:
db_securityadmin 或 db_owner 固定数据库角色的成员身份。
拥有该角色的角色成员资格。
ALTER ANY ROLE 权限或角色上的 ALTER 权限。
向固定数据库角色添加成员需要 db_owner 固定数据库角色的成员身份。
话虽如此,我会
- 创建角色 [开发人员] 授权 [dbo]
- 授予 [开发人员] 选择、插入、更新、删除、执行权限
- 授予 [某位开发人员] 角色变更权限::[开发人员]
然后,根据在线书籍的第三点,用户[某些开发人员]可以将任何人添加到开发人员角色,并且他们将获得该角色授予的权限。
不过,请考虑在授权时更加细化。例如,如果您的用户对象位于架构中,请考虑在架构级别授予权限,而不是像我上面所做的那样在数据库中授予所有内容的权限,即在 GRANT 语句中不提及安全对象。