2012-04-26 13 views
5

Bir kullanıcının SQL server'a giriş yapmasını ve sadece bir veritabanı görmesini istiyorum. Bu kullanıcı veritabanı sahibi olamaz. [kullanıcı adı] İÇİN DENY VIEW ANY DATABASE yapmayı denedim ve şimdi [kullanıcı adı] 'a tek bir veritabanını görüntülemek için GRANT'a bunu yapmak ister misiniz? Bunu nasıl yaparım? Teşekkürler.Tek bir veritabanını görüntülemek için bir kullanıcıya izin verilsin mi? (gerisini görmeyi reddetme)

düzenleme: ne demek istediğimi açıklığa kavuşturmak için, kullanıcının veritabanına erişemediğini değil, diğer veritabanlarının da olduğunu görmesini istemiyorum.

Teşekkürler!

+1

dba.stackexchange.com? – mmix

+0

bu cevaba bakın http://stackoverflow.com/a/1430615/184572 –

cevap

9

Burada SQL Server Management Studio'dan söz ettiğinizi varsayalım. Kısacası, DBO'ya kullanıcıya veremiyorsanız (ki bu tamamen anlaşılabilir), şu anda istediğiniz şeyi gerçekleştirmenin bir yolu YOKTUR. etkili kullanıcıdan tüm veritabanlarını gizleme

DENY VIEW ANY DATABASE TO <customerlogin> 

düzenlenmek suretiyle alırsınız olarak

Sen yakın olarak aldık. Kullanıcıya bir DBO yapmadan, görüntüleme yeteneğini yalnızca bir tanesine açmanın bir yolu yoktur. Bu, Mike Hotek iyi bilinen SQL Uzmanı başına eklenmiş bir özellik değildir.

Bu MSDN iş parçacığı hakkında bu istek hakkında daha uzun ve ayrıntılı bir tartışma görebilirsiniz. Belirli bir kullanıcı için herhangi bir veritabanına görünümü inkar sonra

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

+0

Ayrıca, olası yinelenen: http://stackoverflow.com/questions/935018/hide-sql-database-from-management-studio – RThomas

İlgili konular