«Предоставить всю роль» в SQL Server - PullRequest
3 голосов
/ 03 декабря 2008

Может кто-нибудь объяснить, что делает следующий оператор в SQL Server 2005:

GRANT ALL TO pax_writer

pax_writer - это роль базы данных, ранее созданная с помощью оператора

CREATE ROLE pax_writer AUTHORIZATION dbo

Ответы [ 2 ]

3 голосов
/ 04 декабря 2008

Предоставляет разрешения для базы данных

Это единственный раз, когда вы можете опустить предложение ON ThingsAndStuff.

ALL

Эта опция не предоставляет все возможные разрешения. Предоставление ВСЕГО - это эквивалентно предоставлению следующего разрешения: BACKUP DATABASE, BACKUP LOG, СОЗДАТЬ БАЗУ ДАННЫХ, СОЗДАТЬ ПО УМОЛЧАНИЮ, СОЗДАТЬ ФУНКЦИЮ, СОЗДАТЬ ПРОЦЕДУРУ, СОЗДАЙТЕ ПРАВИЛО, СОЗДАЙТЕ ТАБЛИЦУ и СОЗДАЙТЕ VIEW.

2 голосов
/ 03 декабря 2008

GRANT ALL TO "somebody" предоставляет все разрешения для всех объектов, доступных в базе данных. Но я не уверен, что это должно работать в SQL Server 2005, насколько я понимаю, они оставили «GRANT ALL» только для обратной совместимости.

Согласно статье в SQL Server 2005 работает так:

  1. Если защищаемая база данных, «ВСЕ» означает БАЗУ ДАННЫХ РЕЗЕРВНОГО КОПИРОВАНИЯ, РЕЗЕРВНОЕ КОПИРОВАНИЕ LOG, СОЗДАТЬ БАЗУ ДАННЫХ, СОЗДАТЬ ПО УМОЛЧАНИЮ, СОЗДАТЬ ФУНКЦИЮ, СОЗДАТЬ ПРОЦЕДУРА, СОЗДАЙТЕ ПРАВИЛО, СОЗДАЙТЕ ТАБЛИЦА, И СОЗДАТЬ ВИД.
  2. Если защищаемым является скаляр Функция «ВСЕ» означает ВЫПОЛНИТЬ и РЕКОМЕНДАЦИИ.
  3. Если защищаемое является табличным функция «ВСЕ» означает «УДАЛИТЬ», ВСТАВИТЬ, ССЫЛКИ, ВЫБРАТЬ, и UPDATE.
  4. Если защищаемый объект хранится Процедура «ВСЕ» означает ВЫПОЛНИТЬ.
  5. Если защищаемым является таблица, «ВСЕ» означает УДАЛИТЬ, ВСТАВИТЬ, ССЫЛКИ, ВЫБРАТЬ и ОБНОВИТЬ.
  6. Если защищаемым является представление, «ВСЕ» означает УДАЛИТЬ, ВСТАВИТЬ, ССЫЛКИ, ВЫБРАТЬ и ОБНОВИТЬ.

Надеюсь, кто-то ответит правильно

MSDN - GRANT

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