I don't want a restricted database role to be able to view table and stored procedure definitions and code.
So I do
deny view definition to some_db_role
It does appear though that this is not capable of being overridden.
grant view definition on dbo.some_proc to some_db_role
seems to have no effect.
Worse
grant view definition, references on symmetric key::some_key to some_db_role
seems to have no effect. Basically if you deny view definition at the db level then symmetric keys are unusable by that role\user.
Am I missing something? Is there any way to grant rights to objects that override the rights of the db level deny?