У меня есть серия хранимых процедур, которые выбирают данные из db. У меня есть роль (cctc_reader), которая имеет разрешения на выполнение процедур. Одна из процедур вызывает другую хранимую процедуру, называемую recControl_system_option
, которая, в свою очередь, запрашивает Information_schema.columns
.SQL Server 2008 предоставляет разрешение на информационную_команду.
Проблема заключается в том, что в этом прок в запросе
select column_name from information_schema.columns where table_name = 'recControl_manager'
не возвращает никаких записей. cctc_reader имеет разрешения на получение грантов:
- каждый выберите процедурный
recControl_system_option
так что в теории это должно работать. У меня нет проблем при работе под dbo.
Если я даю db_datareader для cctc_reader, запрос будет прав, но я не хочу предоставлять разрешения для чтения для всех таблиц (следовательно, почему я использовал хранимые procs). Я попытался предоставить разрешения на доступ к Information_schema в Master db, как это предлагается в некоторых статьях, но все равно не может заставить это работать.
Любые предложения?
Отлично! Спасибо за ввод.Я разработал, как это исправить, и вы дали мне много еды для размышлений ...! – pilsdumps