Tengo un servicio web que funciona bien sin modificaciones desde hace un par de años. De repente hoy decide que no le gustaría funcionar, y lanza un tiempo de espera de SQL:Solución de problemas de SQL Server Timeout
System.Data.SqlClient.SqlException: Tiempo de espera caducado. El período de tiempo de espera transcurrido antes de la finalización de la operación o el servidor no responde.
Es interesante observar que este servicio web vive en el mismo servidor que la base de datos, y también que si retiro la consulta de un rastreo SQL y lo ejecuto en el estudio de administración, regresa en menos de un segundo. Pero se agota el tiempo después de exactamente 30 segundos cuando se llama desde el servicio web sin falta. Estoy usando Enterprise Library para conectarme a la base de datos, así que no me puedo imaginar que haya comenzado a fallar aleatoriamente.
No estoy muy seguro de qué podría hacer que deje de funcionar repentinamente. He reciclado el grupo de aplicaciones en el que está, e incluso reinicié el proceso SQL que vi que estaba usando. Mismo comportamiento. De cualquier manera que pueda solucionar esto?
ACTUALIZACIÓN: Mitch clavado él. Tan pronto como agregué "WITH RECOMPILE" antes de la palabra clave "AS" en la definición de sproc, volvió a la vida. ¡Bravo!
@Chris: Tenga en cuenta que no debe agregar WITH RECOMPILE a menos que sea una última zanja. El uso de RECOMPILE FOR es mucho más específico –