我有一个网络服务,运行良好,没有修改几年了.突然今天它决定它不想运行,并抛出SQL超时:
System.Data.SqlClient.SqlException:超时已过期.操作完成之前经过的超时时间或服务器没有响应.
有趣的是,此Web服务与数据库位于同一服务器上,如果我将查询从SQL跟踪中拉出并在管理工作室中运行,则会在一秒钟内返回.但是,当从Web服务调用时,它会在30秒后超时.我正在使用企业库连接到数据库,所以我无法想象随机开始失败.
我不太确定突然让它停止工作的原因.我已经回收了它所在的应用程序池,甚至重新启动了我看到它正在使用的SQL进程.相同的行为.我可以解决这个问题吗?
更新:米奇钉了它.一旦我在sproc定义中的"AS"关键字之前添加了"WITH RECOMPILE",它就恢复了生机.好样的!