У меня есть sproc (назовите его client.UpdateClient
), который выполняется пользователем SQL (назовите его MyWCFServicesUser
.
MyWCFServicesUser
, имеет права доступа к базе данных и устройству записи данных. Он также имеет команду executeразрешения для sproc (но без других разрешений).
Sproc вставит строку в client.Client
с SET IDENITY_INSERT client.Client ON
.
Когда я запускаю этот sproc (из SSMS) с интегрированной безопасностью(Я sa
), все работает нормально.
Когда я запускаю его как MyWCFServicesUser
(из SSMS), происходит сбой с этой ошибкой:
Msg 1088, уровень 16, Состояние 11, Процедура UpdateClient, Строка 33
Не удается найти объект "client.Client", так как он не существует или у вас нет разрешений.
У меня обычно есть все мои sprocs и таблицыв схеме по умолчанию (dbo), но на этот раз я пытаюсь не использовать dbo.
Это то, почему у меня нет разрешений? Мне нужно каким-либо образом повысить sproc? Или пользователь? Или как-топоменять схему?
я в тупике ...