У меня проблема с предоставлением разрешений EXECUTE для определенной хранимой процедуры в SQL Server 2005. Некоторые из тестировщиков запутались с разрешениями - и обнаружили, что, если они также предоставили разрешения CONTROL для хранимой процедуры - то все прошло нормально. Теперь они убеждены, что предоставление разрешений CONTROL - это путь.
Я знаю, что это не может быть правдой - и на самом деле я думаю, что реальная проблема заключается в том, что у пользователя не было разрешений на выбор / вставку / обновление / удаление таблиц, с которыми работала хранимая процедура. Проблема в том, что я не могу найти в Интернете ничего, что могло бы доказать это.
Я прав? Кто-нибудь знает какие-либо документы, в которых говорится об этом?
Заранее спасибо.
Подробнее в ответ на комментарии:
Хранимая процедура выполняет несколько удалений. Сначала он удаляет все записи, которые были бы осиротевшими из-за удаляемой «основной» записи, а затем окончательно удаляет родительскую запись.
Кроме того, ошибка, которую мы видим, говорит о том, что у пользователя недостаточно прав - или Хранимая Процедура не существует. Мы уже подтвердили, что используем правильного пользователя и что разрешения EXECUTE были предоставлены этому пользователю.