Назад | Перейти на главную страницу

Ограничение доступа к серверу Sql

Я не уверен, возможно ли то, что я хочу, но поехали.

На работе у нас есть выделенный ящик SQL Server 2008, в котором размещаются различные базы данных, которые нам нужно запускать. У нас есть удаленный человек (назовем его Боб), которому нужно разместить на нем базу данных. Меня попросили ограничить доступ Боба к блоку SQL, но дать ему достаточно доступа для управления своей базой данных.

В настоящее время я установил для Боба учетную запись SQL и сделал его владельцем базы данных Боба и не получил доступа ни к чему другому. Когда я вхожу в SSMS с помощью SQL-входа Боба, я вижу все другие базы данных, но могу получить доступ только к Бобу. Однако я могу получить доступ и поиграть с основной базой данных, что мне не кажется теплым и нечетким.

Есть ли способ запретить Бобу видеть имена других баз данных и запретить ему доступ к главной базе данных?

В SQL 2005 и 2008 была введена возможность предоставлять / удалять права на просмотр баз данных и называется «ПРОСМОТР ЛЮБОЙ БАЗЫ ДАННЫХ».

http://msdn.microsoft.com/en-us/library/ms189077.aspx

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

Я не уверен в отключении возможности видеть базы данных, но в отношении мастера Боб, вероятно, либо (а) имеет явное разрешение на мастер (б) имеет роль сервера, либо (в) имеет доступ как «гость». Проверить a и b должно быть достаточно просто, просмотрев логин Боба на сервере. Проверьте c, выполнив команду «select user_name ()» в мастере, когда вы вошли в систему как Боб.