Я использую выпуск SQL Server 2008 Express.Как предоставить права на выполнение роли роли базы данных в схеме? Что я делаю не так?
Я создал Логин, Пользователь, Роль и Схема. Я сопоставил пользователя с логином и назначил ему роль.
Схема содержит несколько таблиц и хранимых процедур.
Я хотел бы, чтобы роль имела разрешения на выполнение для всей схемы.
Я попытался предоставить разрешение на выполнение через студию управления и через ввод команды в окне запроса.
GRANT EXEC ON SCHEMA::schema_name TO role_name
Но когда я подключиться к базе данных с помощью студии управления SQL (в качестве логина я создал), во-первых, я не могу видеть, хранимые процедуры, но что более важно, я получаю разрешение отказано ошибка при попытке запустить их.
Хранимая процедура, о которой идет речь, ничего не делает, кроме как выбрать данные из таблицы в пределах одной и той же шмы.
Я попытался создать хранимую процедуру и без линии:
WITH EXECUTE AS OWNER
Это не имеет никакого значения.
Я подозреваю, что у меня возникла ошибка при создании моей схемы, или есть проблема с владением где-то, но я действительно изо всех сил пытаюсь заставить что-то работать.
Единственный способ, которым я успешно выполнил хранимые процедуры, - это предоставить разрешения на управление ролью и выполнить ее, но я не верю, что это правильный и безопасный способ продолжения.
Любые предложения/комментарии будут действительно оценены.
Спасибо.
Предоставили ли вы разрешения на выполнение для пользователя, созданного для Sproc? –