У меня есть эта хранимая процедура, выполняющая запрос на выборку с несколькими внутренними объединениями (одна из таблиц находится в другой базе данных). Теперь я должен был написать этот запрос как динамический, потому что сначала мне нужно было найти, какую БД следует выполнить запросу select. В любом случае, ни одна из таблиц не имеет прав доступа к ним, просто дает разрешение хранимой процедуре для роли базы данных «personel» (которая включает всех).
Но теперь, кто-то с личной ролью запускает этот хранимый процесс, он получает сообщение об ошибке «Отказано в разрешении SELECT для объекта« tbl_table », базы данных« Db », схемы« dbo »». нет никакой разницы в схеме, и есть другие процессы, использующие ту же таблицу, которые работают нормально.
Может ли быть причиной этого использование динамического запроса (exec (Use DB; select ...))? Как причина, потому что это динамично, я должен дать разрешения на таблицы также?
Спасибо