2011-12-20 39 views
2

我使用SQL Server 2008数据库我是这个项目的开发Web应用程序,该项目已在别处举行。隐藏表

我已经完成了该项目的管理员。现在管理员可以连接到SQL Server,但我不希望管理员能够看到数据库表。

有没有办法做到这一点?

+0

[在Management Studio中查看表列表所需的权限]可能的重复(http://stackoverflow.com/questions/1709150/permission-required-to-view-list-of-tables-in-management-studio ) – Yuck 2011-12-20 13:02:47

+1

@marc_s我总是感谢你的编辑 – Ehsan 2011-12-20 13:26:04

+0

你的意思是没有看到表格的内容或表格的定义或两者? – Anon246 2011-12-20 15:34:17

回答

1

简单:不,他是DBA。没有能力使用数据库,他就无法完成自己的工作。克服你的反对意见。

+0

它说他是一名管理员而不是数据库管理员 - 他可能是我们所知道的网络管理员,也是活动目录中域管理员组策略的一部分。 – JonH 2011-12-20 13:26:07

0

你不能限制在服务器上的管理员权限。

管理员还可以访问几乎所有存储加密密钥的表,因此TDE无法工作。

如果他是安全管理员或其他角色之一,那么默认情况下可能会解决此问题,这些角色对您的数据没有权限。

SQL管理员通常有这些角色,以保护您的数据。他们需要它。 如果数据非常敏感,则需要使用其他方法来保护数据,例如在保存敏感值之前应用自己的加密。 (AES等)

+0

SQL英雄,不是真的,dbdefence限制DBA角色并隐藏使用未公开的SQL Server功能的任何人的架构。 – user1309871 2013-07-25 15:20:23

2

我已经看到了这个由ACT的制造商之前完成。他们的产品安装了SQL Server Express的新实例,并且作为该过程的一部分,它们将加密该实例的sa密码。这使得其他人使用除产品和附加工具以外的任何其他资源连接到数据库是“不可能的”。 我不知道他们是怎么做的,但也许你可以搜索加密sa密码或类似的东西,并找出如何做到这一点。 害羞的安装你自己的SQL Server实例我不知道你会如何去做这件事。 请记住,您的应用程序需要提供备份,调整,修改数据库等功能,因为DBA无法访问SQL Server实例。顺便说一句,我们一旦看到了这一点,我们就抛出了ACT--我没有,也没有,就像在我们的一台服务器上运行黑盒子的想法一样。最后,你可能会发现,这个额外的保护层(对于你而不是客户端)只是不值得加重。虽然您可能拥有数据库模式形式的专有信息,但客户端逆向工程应用程序然后自行构建的可能性很小。即使他们这样做了,也很难制作出好的软件 - 无论如何它们可能不会“正确”。

我的建议,不要担心这一点,专注于使您的软件很好,所以他们没有理由推出自己的或在其他地方看。