ASP.NET和SQL Server无法解释的查询超时

时间:2013-01-14 09:32:44

标签: asp.net sql-server timeout

有时,我的Web应用程序在尝试执行特定存储过程时会抛出超时异常。从那一刻起,存储过程将永远不会再次执行,直到我重新启动数据库服务器。

奇怪的是,我可以在SQL Server Management工作室中手动执行存储过程,执行时间正确(约0.2秒)。

但如果从网络服务器发出同样的确切呼叫......超时。怎么可能?

我使用的是SQL Server 2012,我正在使用Linq2Sql在我的代码中映射存储过程。

其他信息:我已尝试在此博文中运行“detect blocking”sql:http://blog.sqlauthority.com/2010/10/06/sql-server-quickest-way-to-identify-blocking-query-and-resolution-dirty-solution/但不返回任何行。

1 个答案:

答案 0 :(得分:1)

可能在SQL服务器中缓存了错误的查询计划。您可以尝试使用Recompile option重新编译存储过程。使用此选项,SP不会被缓存,并且每次调用时都会重新编译。