2008-10-14 38 views
4

如果您是通过访问说,10个数据库1的帐户连接到远程SQL Server。您仍然会在对象资源管理器中看到所有其他数据库,显然是由于您无法实际查询它们的权限,但您可以看到它们的名称。限制数据库列表,以问鼎许可的SQL Server默认情况下

我听说有是禁用此行为的方法,但我一直无法找到答案,没有人知道如何做到这一点?举个例子,我有一个名为MyDbServer一个SQL Server,它有4个数据库,

  1. MYDATABASE
  2. YourDatabse
  3. PrivateDatabase
  4. ReallyPrivateDb

如果您通过的帐户连接,只有有权限“YourDatabse”,你仍然会看到所有其他数据库的列表,尝试查询将授予“选择”权限被拒绝或类似的错误。

出于安全resons,我们不希望用户看到比他们被映射的部分之外的任何数据库。

回答

1

This blog关于隐藏的DB两个SQL 2000和SQL 2005

0

短的方法,它是谈判:

use master 
go 
deny VIEW any DATABASE to login1 
go 

其中login1是要限制的登录帐户。

+1

实际上这并不是一路获得博客文章,有点难以遵循,但关键在于用户必须是有问题的文章的DBO – 2008-10-15 21:17:50

+0

*不是文章数据库 – 2008-10-15 21:18:47

1

具有与所标识的资源,我的客户的斗争后,我做了一些测试,并就如何得到这个工作更多的背景和指导创建this blog posting

相关问题