是否存在内置角色,我可以授予用户以允许他们对架构和数据执行任何操作,但不能执行安全和维护操作?
例如,
我知道data_writer
可以添加/更新/删除,但我记得它不允许create table
CRUD
我希望能够
- 表、视图、存储过程
- 索引、FK 等
- 表内的数据
- 全文目录
但不允许:
- 删除数据库
- 破坏安全设置
- 扰乱备份/维护计划
- 与架构或架构中的数据无关的任何其他内容
这很容易实现吗?
我需要为此创建自定义角色吗?如果需要,我需要为其分配什么权限?
谢谢
答案1
我相信db_ddladmin就是为了这个目的而设计的。它不会给他们 CRUD 数据的能力,所以他们还需要 db_datawriter 和 db_datareader。话虽如此,我也不能 100% 确定它会阻止用户删除数据库,所以你可能需要测试一下。
如果这不能满足你的需求,那么你需要定义自己的角色。在安全数据库节点,您需要创建新的数据库角色。然后您可以添加安全对于数据库,它将包含您正在寻找的许多权限。