2010-01-09 23 views
1

我必须访问某些共享环境中托管的客户数据库。在任何给定的客户实例上都有大量的数据库托管。所以每次访问数据库时,我都必须滚动和搜索。如何隐藏我无权在Sql Server 2005 Management Studio中使用的所有数据库?

  1. 我希望能够配置Management Studio来直接前往我要使用给定连接,并隐藏在该连接/实例的所有其他数据库。但我仍然希望能够看到我可能正在使用的其他实例上的数据库,即本地使用相同的对象资源管理器。

  2. 如果这不可能,有什么理由为什么虚拟主机提供商会授予他们的客户的VIEW ANY DATABASE权限?我假设这就是为什么我可以看到所有其他dbs?

如果我不能配置管理工作室,做我想做按(1),然后我会以电子邮件的提供商,并要求他们阻止我从“服务器”端看到他们。这对他们来说会是一件容易的事吗?如果他们撤销VIEW ANY DATABASE权限,那么这应该解决我的“问题”权利?但它会创造其他人吗?

回答

2

您将需要访问主数据库来实现你想要的结果。没有选项可以配置Sql Server管理工作室(SSMS)来执行您想要的操作。

因此(1)不在。

(2)然而,只要你的服务提供商在玩。你是对的,他们将不得不去

DENY VIEW ANY DATABASE TO youruseracount 

这将需要访问主数据库。但在他们这样做之前,他们必须将您的用户数设置为数据库的所有者。

sp_changedbowner 'youruseraccount' 

这一切的侧面影响是

一个。您无法在实例中看到您想要的任何其他数据库。

b。只有一个用户能够使用SSMS管理员用'只查看我的数据库'列表来清除数据库。这是因为只有一个用户可以成为数据库所有者。

..

理查德

0

2篇文章形容它(无点,如果我复制/粘贴,真的)

OneTwo

相关问题