2012-04-26 69 views
5

我想讓用戶登錄到SQL服務器並只能看到一個數據庫。該用戶不能成爲數據庫所有者。 我曾嘗試做拒絕查看任何數據庫到[用戶名] ,我現在想GRANT查看單個數據庫到[用戶名] 這是可能的嗎?我該怎麼做呢? 謝謝。授權用戶查看單個數據庫? (否認查看其餘部分)

編輯:澄清我的意思,我不希望用戶甚至看到其他數據庫的存在,而不僅僅是他們不能進入數據庫。

謝謝!

+1

dba.stackexchange.com? – mmix 2012-04-26 21:40:13

+0

看起來這個答案http://stackoverflow.com/a/1430615/184572 – 2015-01-08 09:00:26

回答

9

我假設您在這裏正在討論SQL Server Management Studio。簡而言之,如果您無法將DBO授予用戶(這是完全可以理解的),那麼目前還沒有一種方法可以實現您想要的功能。

您得到了儘可能靠近你會通過發出

DENY VIEW ANY DATABASE TO <customerlogin> 

有效地隱藏來自用戶所有的數據庫得到。如果不將用戶設置爲DBO,則無法將視圖能力恢復爲只有一個。這不是Mike Hotek衆所周知的SQL Expert中添加的功能。

您可以在此MSDN主題上看到關於此願望的更長和更詳細的討論。

http://social.msdn.microsoft.com/Forums/en/sqlsecurity/thread/a989ca87-660d-41c4-9dac-70b29a83ddfb

+0

此外,可能會重複:http://stackoverflow.com/questions/935018/hide-sql-database-from-management-studio – RThomas 2012-04-26 22:06:57