【问题标题】:How to debug Sql Server Permission Issue如何调试 Sql Server 权限问题
【发布时间】:2020-11-12 07:04:22
【问题描述】:

我有一个很长的存储过程,它调用其他存储过程,以及直接访问表。

问题是,如果我使用 dbo 权限运行 sp,它就可以工作。但是,当我通过应用程序连接并为连接提供仅具有该存储过程权限的 Sql Server 用户登录时,它会失败。

据我了解,如果将执行权限授予存储过程,则不需要其他权限。然而它未能成功完成。 (它不会引发特定的权限错误,只是没有完全完成,我无法调试它,因为这样做需要 SysAdmin 权限,而这本身会使问题不明显。)

所以我不确定在哪里可以调试这个。

【问题讨论】:

  • 我会考虑在整个主 SP 中使用一系列 PRINT 语句。每次调用其他 SP 之前和之后至少一个。然后使用您的应用使用的相同凭据连接到 SSMS。运行 SP 并观察打印语句。这可以帮助您识别失败或从未发生过的 SP 调用。
  • 谢谢,试一试。
  • 调试进展如何?您的问题解决了吗?

标签: sql-server-2008


【解决方案1】:

对于阅读本文的任何人,我希望这可以帮助他们,因为它帮助我解决了这样的问题。 我不知道如何调试这个问题,但是我知道 db_executor 可能没有足够的权限,因为您可以按照https://docs.microsoft.com/en-us/sql/relational-databases/tutorial-signing-stored-procedures-with-a-certificate?view=sql-server-ver15 为存储过程设置签名 如果有人更改了关联的存储过程,或者可能需要将其他权限添加到与证书用户关联的用户,则可能需要更新签名

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-06
    • 1970-01-01
    • 2013-09-14
    • 1970-01-01
    • 1970-01-01
    • 2013-05-27
    • 1970-01-01
    • 2017-02-04
    相关资源
    最近更新 更多