回答:
スキーマ(など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];
これを試して :
EXEC sp_MSForEachTable 'GRANT INSERT, UPDATE ON ? to [ROLE]'
sp_MSForEachTable
、文書化もサポートもされておらず、と同じスキップの問題が発生するsp_MSForEachDB
可能性があります。