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