Отказано в выборе доступа к таблице в хранимой процедуре - PullRequest
0 голосов
/ 08 ноября 2018

Я создал пользователя 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 (содержит конфиденциальные данные).

...