我发现了这篇文章,讨论了在SSMS对象浏览器中隐藏表。
使用扩展属性,OP能够从视图中隐藏表格。你可以在文章本身中阅读更多详细信息,但为了回答这个问题,我在此重现OP的代码
隐藏表"Person.Address"
EXEC sp_addextendedproperty
@name = N'microsoft_database_tools_support',
@value = 'Hide',
@level0type = N'Schema', @level0name = 'Person',
@level1type = N'Table', @level1name = 'Address';
GO
显示表格“Person.Address”
EXEC sp_dropextendedproperty
@name = N'microsoft_database_tools_support',
@level0type = N'Schema', @level0name = 'Person',
@level1type = N'Table', @level1name = 'Address';
GO
@level1name='Users.Logins'
SELECT、INSERT、UPDATE、DELETE
和 JOINS
)。
在 SQL Server 中没有“隐藏”功能,相反,您可以拒绝某些用户或用户组对特定表或对象的访问权限,以防止他们查看模式下的表或对象。
您可以使用 DENY
关键字来拒绝某些用户,使用 REVOKE
来删除现有的权限。
DENY
拒绝他们对这些对象进行任何操作,例如SELECT
、ALTER
甚至查看定义,或确保你不给予他们在DataSync
模式下的任何权限,但你无法阻止数据库中的用户能够看到其中的对象。 - Thom A