我在VIEW DEFINITION为我的一个用户在架构级别适当设置权限时遇到问题。我已经创建了架构TestSchema并添加了一些表。用户目前有权限设置为访问和修改表(SELECT,UPDATE,DELETE通过等)dbo_datareader和dbo_datawriter角色。但是,他们看不到 SSMS 对象资源管理器中的任何表。
我试过授予查看定义的权限:
grant view definition on SCHEMA :: [TestSchema] to [User]
Run Code Online (Sandbox Code Playgroud)
那没有用。我尝试设置表级权限:
grant view definition on [TestSchema].[NewTable] to [User]
Run Code Online (Sandbox Code Playgroud)
那也没有用。然后我尝试了一个全面的资助:
grant view definition to [User]
Run Code Online (Sandbox Code Playgroud)
那确实奏效了;他们现在可以看到TestSchema,以及他们不应该访问的其他模式。
我的目标是允许用户查看给定模式中的所有表。我如何做到这一点?如果默认情况下我应该能够执行此操作,我应该查看哪些权限才能找到为什么不能执行此操作?