0

我有一个非常旧的 Delphi 应用程序,它使用 ADO 连接到 SQL Server 2008,它总是表现得非常好。在过去的 5 天里,应用程序在使用标准 SELECT w/joins 查询数据时开始挂起,导致应用程序超时。

问题是这样的:如果我在 SSMS 中执行相同的查询,查询运行得很好(无需等待,无需挂起)。

应用程序、代码或服务器中没有任何变化(来自 Windows 更新的最新修复程序除外)。

我试过这个:

  • 如果我为 SELECT 中使用的所有表重新生成索引,应用程序会再次开始工作(即查询不会阻塞)一分钟后它又开始阻塞。
  • 我检查了 sp_lock 并且表上没有排他锁(只有 S、IS 和 Sch-S 锁)。
  • 我尝试将 ADO 游标设置为只读。这提高了性能,但查询会不时阻塞。
4

0 回答 0