【问题标题】:How to debug query timeout in SQL Server?如何在 SQL Server 中调试查询超时?
【发布时间】:2011-06-19 18:55:55
【问题描述】:

我收到一个简单查询的 SQL 查询超时:

delete from Prices where Id=123

Id 是 PK 专栏。服务器没有处于高负载 - 其他几个查询有问题。我该如何调试这种情况?我使用 SQL Server Express 2008。

谢谢!

UPD1重命名表格以匹配真实姓名。

【问题讨论】:

  • 看起来没什么特别的。也许我不完全理解它。聚集索引扫描、聚集索引删除、半连接、断言和删除

标签: sql-server-2008-express query-timeout


【解决方案1】:

如果您认为该查询正在阻止另一个查询,您可以关注来自 this blog post 的查询,该查询显示了如何识别它正在阻止的内容。一旦弄清楚这一点,您就可以调查问题的查询。

【讨论】:

  • 感谢您的链接。解决问题的最佳策略是什么?在 catch(TimeOutException) 中执行一些语句?
  • 当您认为您的查询超时时,请从我链接到的站点运行诊断查询。如果您的问题的原因是阻塞,则该查询可能会返回指示您的查询阻塞的结果。您将能够看到 RequestingText 和 BlockingText,这可以帮助您找出导致阻塞的两个查询正在做什么。
【解决方案2】:

你有一个名为 table 的表?这可能是问题所在。你是如何执行查询的?通过 SQL Studio?存储过程? SqlCommand?

【讨论】:

  • 没有。表名称是价格。我使用 Spring.NET HibernateTemplate.Delete。也许 Spring.NET 出了点问题……
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-03-07
  • 2021-11-15
  • 2019-02-26
  • 2010-10-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多