2008-12-03 4 views
3

Пожалуйста, может кто-то объяснить, что следующее заявление делает в SQL Server 2005:"GRANT ALL TO роли" в SQL Server

GRANT ALL TO pax_writer 

pax_writer представляет собой базу данных роль ранее созданного с помощью оператора

CREATE ROLE pax_writer AUTHORIZATION dbo 

ответ

3

Grants database permissions

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

ВСЕ

Этот вариант не предоставляет все возможные разрешения. Предоставление ALL является эквивалентно предоставлению следующих разрешений: BACKUP DATABASE, BACKUP LOG , CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE и CREATE VIEW .

2

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

Согласно статье в SQL Server 2005 работает следующим образом:

  1. Если защищаемым объектом является база данных, "ALL" означает BACKUP DATABASE, BACKUP LOG, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION , CREATE ПРОЦЕДУРА, СОЗДАТЬ ПРАВИЛО, СОЗДАТЬ ТАБЛИЦУ И СОЗДАТЬ ВИД.
  2. Если защищаемая является скаляром функция, "ALL" означает EXECUTE и ССЫЛКИ.
  3. Если защищаемая является табличной функцией , «ALL» означает DELETE, INSERT, ССЫЛКИ, ВЫБРАТЬ и ОБНОВЛЕНИЕ.
  4. Если защищаемая является хранимой процедурой , «ВСЕ» означает EXECUTE.
  5. Если защищаемая таблица, «ВСЕ» означает DELETE, INSERT, REFERENCES, SELECT и UPDATE.
  6. Если защищаемое является видом, «ALL» означает DELETE, INSERT, REFERENCES, SELECT и UPDATE.

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

MSDN - GRANT

+0

Уверены ли вы? В документации MSDN явно говорится: «Он не предоставляет все возможные разрешения». – 2008-12-03 21:08:11

Смежные вопросы