永无休止的 OLEDB 等待链接服务器

Fer*_*tar 2 sql-server linked-server oledb

我们创建了一个链接服务器来将 SQL Server 连接到我们的 ERP(运行 UniVerse 而不是 SQL Server)。它过去工作得很好,但现在对链接服务器的任何查询都会因 OLEDB 等待类型而陷入困境(数天)。

以前这种情况很少发生,重新启动 SQL Server 总能解决该问题。然而现在,重新启动服务器要么不能解决问题,要么最多一两个小时就能解决问题。

我们在 SQL Server 2016 和 2008 R2 中都遇到了该问题。

我们能够使用同一服务器上的其他工具以及与 SQL Server 相同的驱动程序来查询数据源。在一台服务器上,我们运行两个 SQL Server 2008 R2 实例。一种能够查询数据源,而另一种则陷入 OLEDB 等待类型。两者上的链接服务器的设置方式完全相同,并且它们使用相同的驱动程序。

我们尝试过:

  • 重新启动 SQL Server
  • 重新启动数据源所在的服务器
  • 不同的司机
  • 重新创建链接服务器
  • 使用相同驱动程序使用不同工具查询数据源(成功)
  • 我们能够从受影响的 SQL Server 服务器 ping 数据源服务器
  • 我们能够使用 Telnet 从受影响的服务器连接到数据源

Bre*_*zar 5

对于 SQL Server 目标: 在目标服务器(接收链接服务器查询的服务器)上,运行sp_WhoIsActive并查看链接服务器查询。

如果查询未显示,则链接服务器查询会出现问题,并且永远不会到达目的地。

如果确实出现,请查看“等待”列,看看等待类型是什么。(它不会是 OLEDB。)这将帮助您解决它未完成的原因。请随意将其与您的问题一起发布,我可以详细说明该特定的等待类型。

对于本例中的 IBM/Rocket 等非 SQL Server 目标:您需要与该平台上的系统管理员/DBA 合作,并让他们检查查询的进度。当您在 SQL Server 发送端看到 OLEDB 时,您无法得知另一端的阻塞情况。