Как создать настраиваемую роль сервера базы данных SQL Server, которая может выполнять только SELECT
запросы и хранимые процедуры?
Это означает, что пользователям этой роли не будет разрешено выполнять пользовательские запросы, но они могут запускать хранимые процедуры с операторами CRUD и SysAdmin — UPDATES, DELETES, ALTERS, DROPS.
Я попытался создать эту пользовательскую роль, но потерпел неудачу, когда запустил SP, изменяющий таблицу.
CREATE ROLE SupportStaff
GRANT SELECT TO SupportStaff
GRANT EXECUTE TO SupportStaff
Любые идеи?
Обновлять
Итак, я обнаружил, что приведенный выше код позволяет использовать хранимые процедуры с операторами INSERT/UPDATE/DELETE. Но он не допускает операторов ALTER, TRUNCATE или DROP INDEX.
Для ALTER мне просто нужно добавить GRANT ALTER TO SupportStaff
Но что мне нужно сделать, чтобы разрешить TRUNCATE
и DROP INDEX
?