Программная настройка прав в командах 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), у них исчезнет.
Причем разрешения можно устанавливать как на таблицы, так и на процедуры.