Каждому пользователю предоставляются определённые права при работе с чужими объектами БД – привилегии. Предоставлять другим пользователям привилегии доступа к своим объектам БД (таблице, хранимой процедуре, триггеру и др.) может только владелец этого объекта. Привилегии устанавливают степень свободы данного пользователя при манипулировании чужими данными, например,
SELECT – читать данные;
INSERT – добавлять новые данные;
DELETE – удалять данные;
UPDATE – модифицировать данные;
ALTER – изменять схему таблицы;
INDEX – создавать/удалять/корректировать простой и составной индекс;
REFERENCE – запрещать (разрешать) создавать ссылки на столбец (столбцы) таблицы;
EXECUTE – выполнять хранимые процедуры;
EXECUTE AS OWNER – выполнять чужие хранимые процедуры от имени их владельца;
ALL – все привилегии для таблицы, т.е.
SELECT+INSERT+DELETE+UPDATE+ALTER+INDEX+REFERENCE.
Пользователь может получить привилегию двумя способами: явно или с помощью назначения ему роли.
Поскольку роли упрощают управление привилегиями, то привилегии обычно назначаются ролям, а не конкретным пользователям.