SQL Server: есть ли способ запретить пользователю видеть все базы данных в экземпляре? - PullRequest
2 голосов
/ 21 ноября 2010

Есть ли способ предотвратить просмотр пользователем всех баз данных в экземпляре?Я пытался отрицать это от пользователя 'mark' с помощью

DENY VIEW ANY DATABASE TO mark

, но это не позволило ему увидеть (в обозревателе объектов SSMS) также базу данных, к которой он присоединен (как db_reader).

1 Ответ

2 голосов
/ 21 ноября 2010

В этом случае вы DENY VIEW ANY DATABASE TO public, потому что «mark» является публичным участником (как и все логины). Ссылка

Вы не удаляете права для входа в систему индивидуально, потому что тогда все права будут потеряны даже там, где ожидается.

Обычно, если у входа есть права доступа к объекту (базе данных, таблице и т. Д.), Он может видеть этот объект в Object Explorer в SSMS

Редактировать: он не защищен от ошибок и требует изменения владельца базы данных. Извините, забыл об этом.

Даже если БД является видимой, никакие права не предоставляются и не подразумеваются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...