gpt4 book ai didi

sql-server - 红鲱鱼错误 "The user does not have permission to perform this action"

转载 作者:行者123 更新时间:2023-12-01 13:06:34 29 4
gpt4 key购买 nike

运行存储过程时,出现错误 297

"The user does not have permission to perform this action"

这发生在负载很重的时候(通常,当修剪作业同时运行时)。当访问 SQL Server 的服务重新启动时(很可能修剪作业也已完成),错误就会消失,所以这显然不是真正的权限问题。该错误在访问函数的存储过程的一行上报告,该函数又访问动态管理 View 。

如果不是真正的权限问题,什么样的情况会导致这样的错误?

根据 this article 可能会打开跟踪标志 4616 来解决此问题?我希望能够尝试一下,但需要更多信息。此外,令我感到困惑的是,这是一个间歇性问题,仅在高事件期间发生。

我试图在其他情况下重现同样的错误(这也不是真正的权限问题),我发现在 SQL Server 2005 上运行时我确实遇到了权限问题:

select * from sys.dm_db_index_physical_stats(66,null,null, null, null)

(66 是无效的 DBID。)

但是,我们没有使用不正确的 DBID 的 dm_db_index_physical_stats。我们正在使用 dm_tran_session_transactions 和 dm_tran_active_transactions,但它们不接受参数,所以我无法让它们发生错误。但我在想,也许这个问题是相互关联的。

感谢任何见解。

最佳答案

会不会和并发问题有关?

例如,正在处理的相同数据或正在访问的全局临时表?如果是这样,您可以考虑 sp_getapplock

每个连接是否使用具有不同权限集的不同凭据?是否所有用户都有 GRANT VIEW SERVER STATE TO xxx

最后,与上述两个想法相关,您是否在任何可能无法恢复的地方使用 EXECUTE AS 等?

完全随机的想法:我以前见过这种情况,但只是在我省略了存储过程定义末尾和以下 GRANT 语句之间的 GO 时才看到的。所以 SP 试图设置它自己的权限。是否有可能是超时或并发问题导致某些代码无法正常运行?

关于sql-server - 红鲱鱼错误 "The user does not have permission to perform this action",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2685487/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com