Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS SQL Server > Запрет на просмотр информации из таблицы


Автор: Erick 1.6.2005, 20:54
Как запретить пользователю и распространить запрет на всех пользователей просматривать информацию из конкретной таблицы?
Думал использовать оператор DENY, но не нашёл подходящей привилегии.

Автор: boevik 1.6.2005, 20:58
Каждому пользователю можно задать права на просмотр/изменени данных на уровне таблицы и даже полей.
А что б не определять одно и то же для разных пользователей, создай role и права задай role-у и каждого юзера привяжи к этому role.

Автор: Erick 1.6.2005, 21:10
Как именно? smile Но надо в следующем пункте отменить этот запрет.
Цитата

4. Запретите пользователю studMN просмотр информации из таблицы USP БД Education. Распространите запрет на всех пользователей.
Проверьте правильность работ наложенных запрето.
5. Отмените запрет, наложенный в предыдущем пункте.

Автор: boevik 1.6.2005, 21:15
Erick, как тебе надо запретить? При помощи t-sql команды или через ЕМ?
Добавлено @ 21:18
Смотри в books online DENY and GRANT

Автор: Erick 1.6.2005, 21:27
Запретить надо через t-sql.
Насколько я знаю, GRAND имеет след привилегии:
SELECT
INSERT
UPDATE
DELETE
REFERENCES
EXECUTE
, a DENY отненяет их.
А мне нужно запретить просмотр информации из таблицы.

Автор: boevik 1.6.2005, 21:33
DENY - запрещает.
Код

DENY SELECT 
ON t1
TO test_user

REVOKE - отменяет
Код

REVOKE SELECT
ON t1
FROM test_user

Автор: Erick 1.6.2005, 21:39
Так под запретом просмотра информации из таблицы, в задании, имелось ввиду SELECT?

Автор: boevik 1.6.2005, 21:40
Цитата(Erick @ 1.6.2005, 21:39)
Так под запретом просмотра информации из таблицы, в задании, имелось ввиду SELECT?

Конечно. Ведь SELECT это просмотр данных.

Автор: Erick 1.6.2005, 21:43
boevik Спасибо, не догадался. smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)