1

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

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

但是,如果从网络服务器发出相同的确切调用...超时。这怎么可能?

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

附加信息:我尝试从这篇博客文章中运行“检测阻塞”sql:http: //blog.sqlauthority.com/2010/10/06/sql-server-quickest-way-to-identify-blocking-query- and-resolution-dirty-solution/但不返回任何行。

4

1 回答 1

1

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

于 2013-01-14T12:35:32.707 回答