Wes Asked: 2013-06-04 12:53:09 +0800 CST2013-06-04 12:53:09 +0800 CST 2013-06-04 12:53:09 +0800 CST 创建数据库角色以允许对所有表进行读取访问;对某些的写访问 772 我们有一个包含 1000 多个表的数据库。我需要创建一个角色,允许对所有表进行只读,以及对两个特定表的写访问。 我在搞乱数据库角色,但是每当我去添加表时,我不得不手动选择所有 1000 个......有没有更好的方法来做到这一点? security sql-server-2012 2 个回答 Voted Best Answer Aaron Bertrand 2013-06-04T12:57:48+08:002013-06-04T12:57:48+08:00 授予架构上的权限(例如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]; druzin 2013-06-04T13:07:34+08:002013-06-04T13:07:34+08:00 尝试这个 : EXEC sp_MSForEachTable 'GRANT INSERT, UPDATE ON ? to [ROLE]'
授予架构上的权限(例如
dbo
)将级联到该架构中的所有对象。对于个别例外,您可以明确列出这些例外:尝试这个 :