如何隐藏特定数据库中的表?

时间:2011-10-19 23:36:37

标签: security sql-server-2008

在我的数据库中,我有一个名为Price的表。

我想隐藏这张桌子。这可能吗?

2 个答案:

答案 0 :(得分:1)

如果用户对表没有SELECT权限,那么他们将无法在对象资源管理器中查看该表。

deny select on TableToHide to UserThatShouldntSeeTable
go

答案 1 :(得分:0)

根据您的具体情况,您可以使用表格“过滤器”功能。您可以在Obj Explorer中过滤表列表,以仅查看满足特定条件的表。 (不幸的是,你不能隐藏某些表,你只能显示某些表,同时隐藏所有其他表。)

要执行此操作,只需在“表格”节点上单击鼠标右键,然后选择过滤器 - >过滤器设置。这将打开一个对话框,允许您指定要指定哪些表应该可见的条件(名称,所有者,创建日期等)。有关详细信息,请参阅this post

太糟糕了,你无法保存过滤器(例如基于模式),但至少它是一个开始。

[现在如果只有我们可以在共享服务器上do the same thing with the list of Databases ......!]