Помогите, плиз, разобраться с правами на Extended Stored Procedures в MSSQL
2005.
В бытность под MSSQL 2000 для некоторых целей использовались внешние
хранимки для хитрого доступа к внешним данным. Прав на выполнение у
пользователей не было, вызывались они из обертки - обычной хранимки, которую
и дергали клиентские приложения. Владелец обертки - dbo рабочей базы.
Владелец XP, соответственно - dbo базы master. Никаких проблем с вызовом XP
из SP не было.
Перешли на 2005. Появилась проблема - XP не вызывается из SP 8-O. Напрямую
под sa вызвается, из обертки, запущенной из-под того же sa - ни фига!
Владельцы что у XP, что у SP - те же, что были и раньше. Совершенно
очевидно, что при запуске SP другим юзером так же ничего не работает.
Почитал про контексты выполнения хранимок. Создал SP по-новой из-под sa c
указанием exec as self - без толку.
А теперь вопрос: что делать? Я не могу даже дать прямые права на выполнение
этой внешней хранимки пользователям из рабочей базы - в базе master этих
пользователей нет! Не мапить же туда все эти логины... Дать права
пользователю из другой базы нельзя. И как быть с выполнением из-под sa?
Который якобы имеет права на все, как член серверной роли sysadmin, а
реально, получается, не всегда. А явно дать ему на что-то права невозможно.
В общем, запутался в конец. Даже пиво не помогает.
--
С уважением, Сергей.
ser...@energomash.ru
ICQ: 63474652
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
Это ж надо так лажаться... На сервере отключено Database Ownership Chaining,
а я от него чего-то хочу :D Проблема снята.