I'm having an issue setting the
VIEW DEFINITION permission appropriately at the schema level for one of my users. I've created the schema
TestSchema and added some tables. The user currently has permissions set to access & modify the table (
DELETE, etc) through the
dbo_datawriter roles. However, they cannot see any of the tables in the SSMS object explorer.
I've tried granting permissions to view definitions:
grant view definition on SCHEMA :: [TestSchema] to [User]
That didn't work. I tried setting the table-level permission:
grant view definition on [TestSchema].[NewTable] to [User]
That also didn't work. Then I tried just a blanket grant:
grant view definition to [User]
And that did work; they can now see
TestSchema, as well as other schemas that they shouldn't have access to.
My goal here is to allow the user to view all tables within a given schema. How do I accomplish that? If I should be able to do this by default, what permissions should I be looking at to find why I can't?