2012-04-26 12 views
5

Chcę, aby użytkownik logował się do serwera SQL i widział tylko jedną bazę danych. Ten użytkownik nie może być właścicielem bazy danych. Próbowałem robić PRZECZYTAJ JAKĄKOLWIEK BAZY DANYCH DO [nazwa użytkownika] i chciałbym teraz GRANT, aby wyświetlić jedną bazę danych do [nazwa użytkownika] jest to możliwe? jak mam to zrobic? Dziękuję.PRZYZNAJ użytkownikowi przeglądanie pojedynczej bazy danych? (odmówić oglądania reszty)

edytuj: aby wyjaśnić, co mam na myśli, nie chcę, aby użytkownik zobaczył nawet, że istnieją inne bazy danych, a nie tylko to, że nie mogą wejść do bazy danych.

dziękuję!

+1

dba.stackexchange.com? – mmix

+0

zobacz tę odpowiedź http://stackoverflow.com/a/1430615/184572 –

Odpowiedz

9

Zakładam, że mówisz tutaj o SQL Server Management Studio. Krótko mówiąc, jeśli nie jesteś w stanie udzielić DBO użytkownikowi (co jest całkowicie zrozumiałe), to NIE jest obecnie sposobem na osiągnięcie tego, co chcesz.

dotarłeś tak blisko, jak dostaniesz wydając

DENY VIEW ANY DATABASE TO <customerlogin> 

skutecznie ukrywa wszystkie bazy danych od użytkownika. Bez uczynienia użytkownika DBO nie ma sposobu, aby otworzyć zdolność widoku z powrotem tylko do jednego. To nie jest funkcja, która kiedykolwiek została dodana do każdego znanego eksperta SQL HotStone.

Możesz zobaczyć o wiele dłuższą i bardziej szczegółową dyskusję dotyczącą tego pożądania w tym wątku MSDN.

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

+0

Możliwe również duplikaty: http://stackoverflow.com/questions/935018/hide-sql-database-from-management-studio – RThomas

0

Po zaprzeczyć widok do dowolnej bazy danych do określonego użytkownika:

DENY VIEW ANY DATABASE TO <customerlogin> 

Jeśli się temu użytkownikowi db_owner dla konkretnej bazy danych:

USE <customdatabase> 
exec SP_changedbowner <customerlogin> 

Będzie tylko być w stanie zobaczyć i korzystać z wybranej bazy danych.

Więcej szczegółów: https://www.mssqltips.com/sqlservertip/2995/how-to-hide-sql-server-user-databases-in-sql-server-management-studio/

Powiązane problemy