Хранимые процедуры и разрешения - Достаточно ли EXECUTE?

У меня есть база данных SQL Server 2008, где весь доступ к базовым таблицам осуществляется через хранимые процедуры. Некоторые хранимые процедуры просто ВЫБИРАЮТ записи из таблиц, а другие - UPDATE, INSERT и DELETE.

Если хранимая процедура ОБНОВЛЯЕТ таблицу, нужно ли пользователю, выполняющему хранимую процедуру, также разрешение на ОБНОВЛЕНИЕ для затронутых таблиц, или достаточно того факта, что у них есть разрешение EXECUTE для хранимой процедуры?

В основном мне интересно, достаточно ли предоставить пользователю права EXECUTE для хранимых процедур или мне нужно предоставить им разрешения SELECT, UPDATE, DELETE и INSERT для таблиц, чтобы хранимые процедуры работали. Спасибо.

[EDIT] В большинстве моих хранимых процедур действительно кажется, что EXECUTE достаточно. Однако я обнаружил, что в хранимых процедурах, где использовалось «Execute sp_Executesql», EXECUTE было недостаточно. У задействованных таблиц должны быть разрешения для действий, выполняемых в sp_Executesql.

35
задан liut0 8 July 2014 в 11:19
поделиться