我有一个查询,当从我的应用程序执行时抛出
[SqlException(0x80131904):超时已过期。操作完成之前经过的超时时间或服务器没有响应。]
在单步执行Visual Studio中的代码时出现相同的错误。
但是当使用相同的凭据在SQL Server Management Studio中执行代码时,查询会立即返回(在这种情况下不返回任何行)。
查询是由Entity框架生成的 - 我在SSMS中通过从IQueryable中提取sql并在查询窗口中粘贴它来测试。代码命中" ToList()"。
时发生超时错误SQL Server正在Azure托管的VM中运行。
对于某些上下文,我曾经见过类似的行为,但最后一个实例是一个麻烦(而且相当复杂)的存储过程。有时,sp会进入一种状态,它只会从VS或.NET中超时,但从SSMS运行良好。解决方法是删除并重新创建SP。
相比之下,目前的查询很简单,但我不知道如何清除它#34;就像我对sp一样,因为它是在客户端生成的。
有谁知道什么可能导致特定查询超时,但只有一些客户?
.NET 4.5。,EF 6.0。
查询在30秒后超时(默认超时时间)。我并不认为查询的实际内容是相关的 - 运行它的代码已经存在了将近一年,并且直到昨天才运行。它是一个相对简单的查询,它连接2个表,并在第三个的where子句中有一个EXISTS。