我想讓用戶登錄到SQL服務器並只能看到一個數據庫。該用戶不能成爲數據庫所有者。 我曾嘗試做拒絕查看任何數據庫到[用戶名] ,我現在想GRANT查看單個數據庫到[用戶名] 這是可能的嗎?我該怎麼做呢? 謝謝。授權用戶查看單個數據庫? (否認查看其餘部分)
編輯:澄清我的意思,我不希望用戶甚至看到其他數據庫的存在,而不僅僅是他們不能進入數據庫。
謝謝!
我想讓用戶登錄到SQL服務器並只能看到一個數據庫。該用戶不能成爲數據庫所有者。 我曾嘗試做拒絕查看任何數據庫到[用戶名] ,我現在想GRANT查看單個數據庫到[用戶名] 這是可能的嗎?我該怎麼做呢? 謝謝。授權用戶查看單個數據庫? (否認查看其餘部分)
編輯:澄清我的意思,我不希望用戶甚至看到其他數據庫的存在,而不僅僅是他們不能進入數據庫。
謝謝!
我假設您在這裏正在討論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
此外,可能會重複:http://stackoverflow.com/questions/935018/hide-sql-database-from-management-studio – RThomas 2012-04-26 22:06:57
你拒絕以任何數據庫後到一個特定的用戶:
DENY VIEW ANY DATABASE TO <customerlogin>
如果你使該用戶的特定數據庫的db_owner:
USE <customdatabase>
exec SP_changedbowner <customerlogin>
它只會能夠查看和使用選定的數據庫。
dba.stackexchange.com? – mmix 2012-04-26 21:40:13
看起來這個答案http://stackoverflow.com/a/1430615/184572 – 2015-01-08 09:00:26