Solución de problemas de tiempo de espera SqlExceptions

Tengo un comportamiento curioso que me cuesta entender por qué está ocurriendo. Estoy viendo excepciones de tiempo de espera intermitente. Estoy bastante seguro de que está relacionado con el volumen porque no es reproducible en nuestro entorno de desarrollo. Como solución de bandaid, intenté aumentar el tiempo de espera del comando sql a sesenta segundos, pero como he encontrado, esto no parece ayudar. Aquí está la parte extraña, cuando reviso mis registros en el proceso que está fallando, aquí están los tiempos de inicio y finalización:

16/09/2008 16:21:49 16/09/2008 16:22:19

Entonces, ¿cómo podría ser que se agote el tiempo de espera en treinta segundos cuando configuré el tiempo de espera del comando en sesent

Solo como referencia, aquí está la excepción:

System.Data.SqlClient.SqlException: Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
   at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
   at System.Data.SqlClient.SqlDataReader.get_MetaData()
   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
   at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
   at System.Data.SqlClient.SqlCommand.ExecuteReader()
   at SetClear.DataAccess.SqlHelper.ExecuteReader(CommandType commandType, String commandText, SqlParameter[] commandArgs)

Respuestas a la pregunta(5)

Su respuesta a la pregunta