Программная настройка прав в командах Transact SQL


Справочная информация

 

Перечень ролей:

Роли в БД:

Public– минимальные права доступа к БД (на просмотр)

Db_owner – может выполнять любые действия с БД

Db_accessadmin – добавляет и удаляет пользователей БД

Db_sequrityadmin – управляет ролями в Бди разрешениями на запуск команд и работу с объектами БД

Db_ddladmin – добавляет, изменяет и удаляет объекты БД

Db_backupoperator – осуществляет резервное копирования БД

Db_datareader – может просматривать все данные в каждой таблице в БД

Db_datawriter - может добавлять, удалять и изменять данные в каждой таблице в БД

Db_denydatareader – запрет на просмотр всех данных в каждой таблице в БД

Db_denydatawriter - запрет на добавление, удаление и изменение всех данных в каждой таблице в БД

 

Создание пользователей через утилиту SQL Server Enterprise MANAGER

Рисунок – Раздел Security для работы с пользователями

Пример создания пользователя Admin_DB для работы с нашей БД.

Выбрать New Login. В появившемся окне сделать настройки, как показано на рисунке ниже.

Настроить серверную роль как на рисунке ниже и роль в БД.

 

Теперь в БД появился пользователь с правами собственника, который может выполнять все манипуляции с БД.

Выполните команду, например «Просматривать и редактировать данные таблицы Authors».

GRANT SELECT, INSERT ON Authors TO Public_ (1)

Результат на рисунке ниже:

 

Если пользователей с ролью Public к этой таблице должно подключиться много, то лучше добавить разрешения(permissions) самой роли Public.

GRANT SELECT, INSERT ON Authors TO Public (2)

 

Причем тогда у всех пользователей, которым до этого было назначено разрешение (1), у них исчезнет.

 

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