我的网站在 IIS 下正确运行。但是工作了很长时间。它开始给出超时错误,似乎服务器忙于做其他工作。但是 SQL 服务器在我的本地主机上运行,除了当前应用程序之外没有服务器使用/负载。
“超时已过。在操作完成之前超时时间已过或服务器没有响应。”
完成系统重启后,我才能恢复我的工作。在这方面需要帮助。提前致谢
我已经使用重新编译来解决这个问题。
EXEC sp_recompile N'myproc'
听起来你正在达到执行超时。如果您达到此阈值,您可能需要进行一些分析以查看某处是否存在性能瓶颈。要解决此问题,您可以在以下内容中指定执行超时web.config
:
<httpRuntime executionTimeout="180" /> <!-- in seconds -->
要更改 SQL Server 中的执行超时,请转到服务器属性:
http://img197.imageshack.us/img197/3152/srvrprops.png
有关更多详细信息,请参见此处:
更改 SQL Management Studio 中的 CommandTimeout
最后通过从过程缓存中清除执行计划解决了这个问题。
要清除计划缓存,请运行以下脚本...
SELECT plan_handle, st.text
FROM sys.dm_exec_cached_plans
CROSS APPLY sys.dm_exec_sql_text(plan_handle) AS st
where objtype = 'Proc' AND st.[text] like '%[Enter stored procedure name here]%'
如果缓存中存在存储过程,则结果应如下所示:
从返回的结果中替换下面示例中的plan_handle ...
-- Remove the specific execution plan from the cache.
DBCC FREEPROCCACHE (0x050017005CBF201940A1CE91000000000000000000000000);
GO
更多信息在这里