Я думаю, grant execute on sp_helptext
- совершенно неправильный подход. Как указано здесь Иисусом Лопесом, если вы хотите дать пользователю разрешения на просмотр всех определений объектов, вы должны использовать
GRANT VIEW DEFINITION TO your_database_user
или если вы хотите, чтобы пользователь видел определение объекта для конкретного объекта, вы должны использовать
GRANT VIEW DEFINITION ON dbo.YourProcedure TO your_database_user
.
Обратите внимание, что сначала вы должны добавить существующий сервер логин в качестве нового пользователя в базе данных. Затем вы сможете выбрать целевую базу данных, в которой был создан новый пользователь, и затем предоставить ему / ей разрешения с помощью оператора GRANT VIEW DEFINITION
.