Ответ 1
Вам нужно сворачивать самостоятельно.
CREATE ROLE db_executor;
GRANT EXECUTE TO db_executor;
EXEC sp_addrolemember 'db_executor', 'username';
Как я понимаю, пользователи, назначенные роли db_datareader, имеют права читать все таблицы в базе данных, а те, которые назначены db_datawriter, могут обновлять все таблицы.
Есть ли роль базы данных, которая дает права пользователя выполнять все хранимые процедуры?
Вам нужно сворачивать самостоятельно.
CREATE ROLE db_executor;
GRANT EXECUTE TO db_executor;
EXEC sp_addrolemember 'db_executor', 'username';
GRANT EXEC ON SCHEMA::dbo
Вы можете заменить dbo для вашей конкретной настройки