如何调查ASP.net应用程序上的SQL Server超时错误?

时间:2012-05-03 08:34:25

标签: asp.net sql-server sql-server-2008 connection-timeout

我们在NopCommerce - ASP.net MVC3网络应用程序上面临服务器超时错误。

当我们结束sql进程时,错误只会重新发生。在结束时它开始工作正常一段时间然后再次开始发生。

仅在过去几天才发生这种情况,之前它工作正常。请注意,其代码中未进行重大更新。

我们一无所知,可能是什么问题以及如何调查和修复它?它是与连接池相关的问题还是什么?

这是stacktrace:

  

超时已过期。操作完成之前经过的超时时间或服务器没有响应。   描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中的起源位置的更多信息。

     

异常详细信息:System.Data.SqlClient.SqlException:超时已过期。操作完成之前经过的超时时间或服务器没有响应。

     

来源错误:

     

在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息。

     

堆栈追踪:

     

[SqlException(0x80131904):超时已过期。操作完成之前经过的超时时间或服务器没有响应。]      System.Data.SqlClient.SqlConnection.OnError(SqlException exception,Boolean breakConnection)+296      System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()+415      System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior,SqlCommand cmdHandler,SqlDataReader dataStream,BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj)+2657      System.Data.SqlClient.SqlDataReader.ConsumeMetaData()+88      System.Data.SqlClient.SqlDataReader.get_MetaData()+ 114      System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds,RunBehavior runBehavior,String resetOptionsString)+505      System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior,RunBehavior runBehavior,Boolean returnStream,Boolean async)+1896      System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,RunBehavior runBehavior,Boolean returnStream,String method,DbAsyncResult result)+480      System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,RunBehavior runBehavior,Boolean returnStream,String method)+28      System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior,String method)+854      System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)+22      System.Data.Mapping.Update.Internal.DynamicUpdateCommand.Execute(UpdateTranslator translator,EntityConnection connection,Dictionary 2 identifierValues, List 1 generatedValues)+269      System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager,IEntityAdapter adapter)+528

1 个答案:

答案 0 :(得分:3)

@Dharmik Bhandari,可能有几个问题。尝试以下事项

  • 增加泳池大小
  • 设置CommandTimeOut = 0(无限)
  • 设置ConnectionTimeOut = 0(无限)
  • 数据库功能结束后立即释放连接资源