2014-08-29 91 views
2

我有一个数据库服务器上有几个数据库。我想为其中一个数据库创建登录,但是当用户登录到服务器时,我不希望服务器上的其他数据库显示出来。这可能吗?在SQL Server上只显示一个数据库

我在服务器上创建了一个登录名,并在一台服务器上为该登录名提供了db_readonly角色。但是,当我通过SQL Server Managment Studio连接时,我会看到所有数据库的列表。我看不到每个表中定义了哪些表。

我想删除这种混乱,以便当用户连接时,只有一个(或两个,如果您包括主)数据库可用。

+1

检查任何相关许可链接出:http://www.mssqltips.com/sqlservertip/2995/how-to-hide-sql-server-user-databases-in-sql-server-management-studio/ – 2014-08-29 15:12:51

+1

也可能重复的:http:/ /stackoverflow.com/questions/935018/hide-sql-database-from-management-studio – 2014-08-29 15:13:23

+0

您需要提及SQL Server的版本。在较早的版本中,如果不安装单独的SQL Server实例,这是不可能的。 – anon 2014-08-29 16:06:36

回答

1

你可以使用SSMS界面如下: -

1)转到您的SQL Server实例,右键单击并选择属性。
2)在左侧窗格中选择权限。
3)选择您在“登录或角色”部分提到的特定用户。
4)在部分的权限,检查拒绝列“查看任何数据库”
5)转到新添加的数据库,右键单击并选择属性。
6)添加特定用户“用户或角色”
7)在对部分权限下,检查格兰特列的“查看数据库状态”或者,你想授予”