我有一个从MS-SQL2005 DB调用存储过程的Web服务。我的Web服务在对我拥有的一个存储过程的调用上超时(该过程已经生产了几个月,没有超时),因此我尝试在Query Analyzer中运行查询,该查询也超时。我决定删除并重新创建存储过程,而无需更改代码,它又开始执行。
问题:
这通常是我的存储过程的TSQL中的错误吗?
-或者-
有没有人看到这并发现它是由存储过程的编译中的某些问题引起的?
同样,当然,也欢迎对此提出任何其他见解。
您是否正在更新数据库的统计信息?这听起来像原始SP正在使用过期的查询计划。sp_ recompile可能有所帮助,而不是删除/重新创建它。