Я создал пользователя testUser
и назначил его на вновь созданную роль executive
.
Затем я создал следующую процедуру:
CREATE PROC dbo.spTest
AS
BEGIN
SELECT FirstName, LastName
FROM dbo.Emp
END
И предоставил разрешение на выполнение этой хранимой процедуры для роли:
GRANT EXECUTE ON dbo.spTest TO executive
Когда я пытаюсь выполнить хранимую процедуру, используя testUser
, я получаю следующее сообщение об ошибке:
Отказано в разрешении SELECT для объекта 'Emp', база данных, схема 'dbo'
Все, что я читаю онлайн, говорит о том, что строка GRANT EXECUTE
должна работать, но она явно не работает. Я также читал, что это сообщение об ошибке появляется, если для динамического SQL, но я уверен, что это статическое.
Я не знаю, почему это не работает. Кто-нибудь может помочь?
edit : Я не хочу давать разрешение SELECT на таблицу Emp (содержит конфиденциальные данные).