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