Если вам нужен детальный контроль над тем, кто может что-то делать, я не думаю, что вы можете многое сделать - у вас все отлично.
Подход gbn довольно изящен - другой подход для «простых» установок (когда вам не нужно много разных разрешений) заключается в:
предоставить каждому пользователю (или роли) роль базы данных db_datareader
- это разрешает доступ на чтение
(ВЫБРАТЬ) для всех таблиц и представлений
предоставить каждому пользователю (или роли) роль базы данных db_datawriter
- это дает доступ на запись (INSERT, UPDATE, DELETE) для всех таблиц и представлений
Если вам также необходимо предоставить права на выполнение хранимых процедур, к сожалению, нет предопределенной роли для использования. Однако вы можете создать свою собственную роль базы данных, а затем предоставить разрешения на выполнение этой роли. Самое замечательное в том, что это разрешение на выполнение хранимых процедур также распространяется на все будущие хранимые процедуры, которые вы можете создать в своей базе данных!
Чтобы определить свою новую роль, используйте это:
CREATE ROLE db_executor
GRANT EXECUTE TO [db_executor]
и тогда вы можете просто назначить db_executor
тем пользователям, которым необходимо иметь возможность выполнять хранимые процедуры и хранимые функции в вашей базе данных.