SQL Server: проблема с синонимом для пользователя, созданного хранимой процедурой - PullRequest
0 голосов
/ 05 июля 2011

У меня есть несколько хранимых процедур (рабочих процедур), которые будут запрошены основным хранимым процессом с именем Calc.Calc создает синоним, называемый S таблицы, имя которой передается параметром.

Рабочий процесс работает с таблицей синонимов.

Работает для входа администратора.

Проблема : если пользователь выполняет Calc, синонимом будет Domain/Username.S, а рабочий, который имеет доступ к S, не найдет Domain/username.S

Если администраторсоздал синоним, который называется dbo.S, и рабочие работают только с доступом к S.

Как могут хранящиеся у рабочего прокси получить доступ к синониму, созданному пользователем, который вызвал Calc?Так что пользователи X могут звонить Calc и работать с разными таблицами S, но использовать одни и те же рабочие процедуры.

Заранее спасибо, надеюсь, кто-нибудь может мне помочь.

Среда: SQLServer 2008 предоставил права пользователя: создайте синоним

1 Ответ

1 голос
/ 05 июля 2011

Используйте префикс схемы при создании calc, выполнении calc, создании S и вызове S. Или убедитесь, что все ваши пользователи имеют доступ к одной и той же схеме по умолчанию. Но я предпочитаю первое.

...