gpt4 book ai didi

sql-server - SQL Server 代理 - 信号量超时

转载 作者:行者123 更新时间:2023-12-04 17:55:08 26 4
gpt4 key购买 nike

我有一个只需一步的 SQL Server 代理作业。该步骤在本地服务器上执行存储过程,仅此而已。当作业执行时(手动或计划),我收到以下错误。作业在大约 23 秒后失败。

Msg 121, Level 20, State 0, Line 0 A transport-level error hasoccurred when receiving results from the server. (provider: TCPProvider, error: 0 - The semaphore timeout period has expired.)

但是,我手动执行存储过程没有问题。我在不到一秒钟的时间内收到了正确的结果。

“信号量”错误往往是硬件或网络问题。但由于作业是在本地服务器上执行的,所以我不清楚硬件或网络延迟如何成为问题。

更新(我试过的东西)

每次尝试之后,我都会将所有内容恢复到原来的状态。这些尝试中的每一个都有相同的结果(当我 RDP 到服务器时有效,在其他任何地方都失败)。

  • 底层存储过程调用链接服务器。我删除了这些引用。
  • 假设问题是对 AD 域 Controller 的某种调用,我使用了 SQL 登录而不是 Windows 用户。
  • 我将作业修改为以我的身份运行(因为我可以做任何事情)。

另一个注意事项:执行时,作业启动失败。因此,它甚至没有进入存储过程。

最佳答案

我会按照以下步骤解决这个问题......

1.确保查询已微调
2.确保统计数据和索引是最新的

信号量超时主要与系统内存不足有关。因此更新统计信息将帮助 sql server 正确估计内存。这应该可以解决大多数超时问题

But since the job is executing on the local server

我假设你的意思是,你在与服务器相同的机器上运行作业......不是远程......即使在这种情况下,我们也面临超时(一般),但我们通过以下步骤排除了硬件和网络问题

TCP Offloading/Chimney & RSS…What is it and should I disable it?

更改了远程登录、远程查询超时(这些可能不适用于您的错误消息)

关于sql-server - SQL Server 代理 - 信号量超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40848277/

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