我有一个由 SQL 用户执行的存储过程(调用它client.UpdateClient
)(调用它MyWCFServicesUser
。
MyWCFServicesUser
对数据库具有 datareader 和 datawriter 权限。它还具有存储过程的执行权限(但没有其他权限)。
client.Client
sproc 将在with中插入一行SET IDENITY_INSERT client.Client ON
。
当我使用集成安全性(我是)运行这个存储过程(来自 SSMS)时sa
,一切正常。
当我以MyWCFServicesUser
(来自 SSMS)的身份运行它时,它会因以下错误而失败:
消息 1088,级别 16,状态 11,过程 UpdateClient,第 33 行
找不到对象“client.Client”,因为它不存在或您没有权限。
我通常在默认 (dbo) 模式中拥有所有存储过程和表,但这次我试图不使用 dbo。
这就是我没有权限的原因吗?我需要以某种方式提升存储空间吗?还是用户?或者以某种方式改变架构?
我被难住了……