Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
О.Б.Д / лекции / Лекція 17.ppt
Скачиваний:
29
Добавлен:
30.05.2020
Размер:
197.12 Кб
Скачать

Дії по відношенню до ролі

створення нової ролі: sp_addrole [@rolename=] 'ім'я_ролі'

[, [@ownername=] 'ім'я_власника']

додавання користувача до ролі:

sp_addrolemember [@rolename=] 'ім'я_ролі'

[@membername=] 'ім'я_користувача'

видалення користувача з ролі:

sp_droprolemember [@rolename=] 'ім'я_ролі'

[@membername=] 'ім'я_користувача‘

видалення ролі: sp_droprole [@rolename=] 'ім'я_ролі'

Привілеї, або права, - дії, які користувач має право виконувати відносно таблиці бази даних або уявлення.

SELECT – право вибирати дані з таблиці;

INSERT – право вставляти в таблицю нові рядки;

UPDATE – право змінювати дані в таблиці;

DELETE – право видаляти рядки з таблиці;

REFERENCES – право посилатися на стовпці вказаної таблиці в описах вимог підтримки цілісності даних;

USAGE – право використовувати домени, перевірки і набори символів.

Надання привілеїв користувачам

<надання_привілеїв>::= GRANT {<привілей>[,...n]|

ALL PRIVILEGES} ON ім'я_об'єкта

TO {<ідентифікатор_корист увача>

[,...n]| PUBLIC}

[ WITH GRANT OPTION]

Параметр <привілей> є:

<привілей>::=

{SELECT | DELETE | INSERT

[(ім'я_колонки[,...n])]

| UPDATE [(ім'я_колонки [,...n])]}

| REFERENCES [(ім'я_колонки [,...n])] |

USAGE }

Відміна наданих користувачам привілеїв

<відміна_привілеїв>::= REVOKE[GRANT OPTION FOR]

{<привілей>[,...n]

| ALL PRIVILEGES} ON ім'я_об'єкта

FROM {<ідентифікатор_користувача> [,...n]| PUBLIC}

[RESTRICT | CASCADE]

Категорії прав в середовищі SQL Server

права на доступ до об'єктів ;

права на виконання команд ;

неявні права.

Для різних об'єктів застосовуються різні набори прав доступу до

нихSELECT, INSERT, UPDATE, DELETE, REFERENCES – для таблиці або уявлення;

SELECT, UPDATE – для конкретного стовпця таблиці або уявлення;

EXECUTE – для збережених процедур і функцій.

Право INSERT дозволяє вставляти нові рядки в таблицю або уявлення і видається тільки на рівні таблиці або уявлення; воно не може бути видано на рівні стовпця.

Право UPDATE видається або на рівні таблиці, що дозволяє змінювати в ній всі дані, або на рівні окремого стовпця, що дозволяє змінювати дані тільки в його межах.

Право DELETE дозволяє видаляти рядки з таблиці або уявлення, видається тільки на рівні таблиці або уявлення, але не може бути видано на рівні стовпця.

Право SELECT дозволяє вибірку даних і може видаватися як на рівні таблиці, так і на рівні окремого стовпця.

Право REFERENCES надає можливість посилатися на вказаний об'єкт. Стосовно таблиць дозволяє створювати зовнішні ключі, що посилаються на первинний ключ або унікальний стовпець цієї таблиці

Надання прав

<надання_привілеїв>::=

GRANT { ALL [ PRIVILEGES] | <привілей> [,...n]}

{ [( ім'я_колонки [,...n])]

ON { ім'я_таблиці | ім'я_перегляду} | ON {ім'я_таблиці | ім'я_перегляду } ([ім'я_колонки [,...n])]

|ON {ім'я_збереженої_процедури | ім'я_зовнішньої_процедури} }

TO { ім'я_користувача | ім'я_групи | ім'я_ролі} [,...n] [WITH GRANT OPTION ]

[AS {ім'я_групи | ім'я_ролі }]

Права на виконання команд SQL

<надання_права_виконан ня>::=

GRANT {ALL | <команда>[,...n]}

TO {ім'я_користувача | ім'я_групи | ім'я_ролі} [,...n]

<команда>::=

{CREATE DATABASE |

CREATE TABLE |

CREATE VIEW | CREATE DEFAULT |

CREATE RULE | CREATE PROCEDURE

| BACKUP DATABASE | BACKUP LOG | ALL }

Соседние файлы в папке лекции