SQL Server 2008 数据库级别角色

SQL Server 2008 数据库级别角色

是否存在内置角色,我可以授予用户以允许他们对架构和数据执行任何操作,但不能执行安全和维护操作?

例如,

我知道data_writer可以添加/更新/删除,但我记得它不允许create table

CRUD我希望能够

  • 表、视图、存储过程
  • 索引、FK 等
  • 表内的数据
  • 全文目录

但不允许:

  • 删除数据库
  • 破坏安全设置
  • 扰乱备份/维护计划
  • 与架构或架构中的数据无关的任何其他内容

这很容易实现吗?

我需要为此创建自定义角色吗?如果需要,我需要为其分配什么权限?

谢谢

答案1

我相信db_ddladmin就是为了这个目的而设计的。它不会给他们 CRUD 数据的能力,所以他们还需要 db_datawriter 和 db_datareader。话虽如此,我也不能 100% 确定它会阻止用户删除数据库,所以你可能需要测试一下。
如果这不能满足你的需求,那么你需要定义自己的角色。在安全数据库节点,您需要创建新的数据库角色。然后您可以添加安全对于数据库,它将包含您正在寻找的许多权限。

相关内容