创建数据库角色以允许对所有表进行读访问;写访问一些

Wes*_*Wes 9 security role sql-server-2012

我们有一个包含 1000 多个表的数据库。我需要创建一个角色,该角色允许对所有表进行只读访问,以及对两个特定表的写访问权限。

我一直在处理数据库角色,但是每当我添加表时,我都必须手动选择所有 1000 个……有没有更好的方法来做到这一点?

Aar*_*and 9

授予对架构的权限(例如dbo)将级联到该架构中的所有对象。对于个别例外,您可以明确列出这些例外:

GRANT SELECT ON SCHEMA::dbo TO [role];
GO

GRANT INSERT, UPDATE --, DELETE
  ON dbo.table_they_can_write_to TO [role];

DENY SELECT ON dbo.table_they_cannot_read TO [role];
Run Code Online (Sandbox Code Playgroud)

  • 很容易。很高兴我们有这样的社区。 (3认同)