我有一个相当长的存储过程,它可以调用其他存储过程,也可以直接访问表。
问题是,如果我使用dbo权限运行sp,它就能正常工作。但是,当我通过一个应用程序进行连接,并为该连接提供一个仅具有该存储过程权限的Sql Server用户登录时,它就会失败。
据我所知,如果将execute权限授予存储过程,则不需要其他权限。然而,它未能成功完成。(它不会抛出特定的权限错误,它只是不会完全完成,我无法调试它,因为这样做需要SysAdmin权限,这本身就会使问题本身不明显。)
所以我不确定还能去哪里调试它。
发布于 2020-11-12 07:04:23
对于任何阅读这篇文章的人,我希望这能帮助他们,因为它帮助我解决了这样的问题。我不知道如何调试此问题,但我知道db_executor可能不够权限,因为您可以根据https://docs.microsoft.com/en-us/sql/relational-databases/tutorial-signing-stored-procedures-with-a-certificate?view=sql-server-ver15为存储过程设置签名。如果某人更改了关联的存储过程,则可能需要更新签名,或者可能需要将其他权限添加到与证书用户关联的用户
https://stackoverflow.com/questions/24678752
复制相似问题