Procedimento armazenado e permissões - EXECUTE é suficiente?

Eu tenho um banco de dados do SQL Server 2008 em que todo o acesso às tabelas subjacentes é feito por meio de procedimentos armazenados. Alguns procedimentos armazenados simplesmente SELECT registros das tabelas, enquanto outros UPDATE, INSERT e DELETE.

Se um procedimento armazenado ATUALIZA uma tabela, o usuário que está executando o procedimento armazenado também precisa de permissões UPDATE para as tabelas afetadas ou o fato de eles terem permissões EXECUTE para o procedimento armazenado é suficiente?

Basicamente, estou imaginando se conceder ao usuário permissões EXECUTE para os procedimentos armazenados é suficiente ou preciso conceder a ele permissões SELECT, UPDATE, DELETE e INSERT para as tabelas para que os procedimentos armazenados funcionem. Obrigado.

[EDITAR] Na maioria dos meus procedimentos armazenados, parece que EXECUTE é suficiente. No entanto, descobri que nos procedimentos armazenados em que "Execute sp_Executesql" era usado, EXECUTE não era suficiente. As tabelas envolvidas precisavam ter permissões para as ações que estavam sendo executadas no "sp_Executesql".

questionAnswers(5)

yourAnswerToTheQuestion