Możesz użyć ODMÓW PODGLĄDANIA DOWOLNEJ BAZY DANYCH polecenie dla konkretnego użytkownika(ów). Jest to nowa funkcja dostępna w SQL Server 2008.
Uniemożliwia użytkownikowi zobaczenie katalogu systemowego (sys.databases, sys.sysdatabases, itp.) i dlatego sprawia, że baza danych jest dla nich niewidoczna w SQL Management Studio (SSMS).
Uruchom to polecenie z głównej bazy danych:
DENY VIEW ANY DATABASE TO 'loginName'
Użytkownik nadal ma dostęp do bazy danych za pośrednictwem Twojej aplikacji. Jeśli jednak zalogują się przez SSMS, Twoja baza danych nie pojawi się na liście baz danych, a jeśli otworzą okno zapytania, Twoja baza danych nie pojawi się na liście rozwijanej.
Nie jest to jednak niezawodne. Jeśli użytkownik jest wystarczająco inteligentny, aby uruchomić polecenie zapytania:
USE <YourDatabaseName>
Następnie zobaczą bazę danych w analizatorze zapytań.
Ponieważ to rozwiązanie zabiera cię tam w 90%, nadałbym bazie danych jakąś niejasną nazwę, aby użytkownicy nie znali nazwy bazy danych.