2014-08-29 92 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)在對部分權限下,檢查格蘭特列的「查看數據庫狀態」或者,你想授予」