Пара вещей, которые нужно проверить.
Во-первых, если у вас есть несколько схем в вашей базе данных, будет хорошей идеей убедиться, что вы используете схему при их вызове.Например, если у вас есть схема с именем Accounts и proc с именем AccountGet, вам следует использовать exec accounts.AccountGet ..
Во-вторых, если ваша процедура использует ЛЮБОЙ динамический sql, то вызывающему пользователю потребуетсясоответствующие права на эти таблицы, а не только на процедуру.
Допустим, у вас есть процедура с именем AccountGet, которая выполняет exec, который делает выбор.У вашего пользователя должны быть права на выполнение AccountGet, а также право выбора в соответствующих таблицах.
То же самое относится и к любым вызовам, для которых требуется контекст безопасности.Контекст текущего выполняющегося пользователя передается.Если у этого пользователя нет прав, вы получите ошибки разрешения.