我有一个非常冗长的存储过程并调用其他存储过程,以及直接访问表。
问题是,如果我使用dbo权限运行sp,它可以工作。但是,当我通过应用程序连接并为该连接提供仅对该存储过程具有权限的Sql Server用户登录时,则会失败。
据我了解,如果对存储过程授予执行权限,则不需要其他权限。但它未能成功完成。 (它没有抛出特定的权限错误,它只是没有完成,我无法调试它,因为这样做需要SysAdmin权限,这本身就会使问题不明显本身。)
所以我不确定在哪里调试这个。
答案 0 :(得分:0)
对于阅读此书的任何人,我希望这可以对他们有所帮助,因为它可以帮助我解决此类问题。 我不知道如何调试此问题,但是我确实知道db_executor权限不足,因为您可以根据https://docs.microsoft.com/en-us/sql/relational-databases/tutorial-signing-stored-procedures-with-a-certificate?view=sql-server-ver15为存储过程设置签名 如果有人更改了关联的存储过程,则可能需要更新签名,或者可能需要向与证书用户关联的用户添加附加权限