У меня есть база данных SQL Server 2008, где весь доступ к базовым таблицам выполняется через хранимые процедуры. Некоторые хранимые процедуры просто выбирают записи из таблиц, а другие - UPDATE, INSERT и DELETE.
Если хранимая процедура ОБНОВЛЯЕТ таблицу, выполняет ли пользователь, выполняющая хранимую процедуру, разрешения UPDATE для затронутых таблиц или факт, что у них есть права EXECUTE для хранимой процедуры?
В принципе, мне интересно, достаточно ли предоставить пользователям EXECUTE разрешения для хранимых процедур или мне нужно предоставить им разрешения SELECT, UPDATE, DELETE и INSERT для таблиц, чтобы хранимые процедуры работали. Спасибо.
[EDIT] В большинстве моих хранимых процедур действительно появляется, что EXECUTE достаточно. Однако я обнаружил, что в хранимых процедурах, где "Execute sp_Executesql" использовался, что EXECUTE было недостаточно. Для задействованных таблиц необходимы разрешения для действий, выполняемых в "sp_Executesql".