【发布时间】:2012-10-12 23:43:36
【问题描述】:
我有一个 Windows 服务,它每 10 秒连续查询一次 SQL Server 数据库表,我还有一个网站,它也在 25 秒后查询同一个数据库表。
一段时间后我得到异常 - server timeout exception has occurred。我浏览了 stack-overflow 站点并对 SQL 配置设置进行了更改,但仍然遇到相同的异常。怎么办?
堆栈跟踪
在 System.Data.SqlClient.SqlConnection.OnError(SqlException 异常,布尔型 breakConnection) 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException 异常,布尔型 breakConnection) 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() 在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler、SqlDataReader 数据流、 BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) 在 System.Data.SqlClient.SqlDataReader.ConsumeMetaData() 在 System.Data.SqlClient.SqlDataReader.get_MetaData() 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior,字符串 resetOptionsString) 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior、RunBehavior runBehavior、布尔 returnStream、布尔 异步)在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior、RunBehavior、runBehavior、布尔返回流、字符串 方法,DbAsyncResult 结果)在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior、RunBehavior、runBehavior、布尔返回流、字符串 方法)在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior 行为,字符串方法)在 System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior 行为)在 System.Data.Common.DbCommand.ExecuteReader(CommandBehavior 行为)
在 Microsoft.Practices.EnterpriseLibrary.Data.Database.DoExecuteReader(DbCommand 命令,CommandBehavior cmdBehavior)在 Microsoft.Practices.EnterpriseLibrary.Data.Database.ExecuteReader(DbCommand 命令)在 Microsoft.Practices.EnterpriseLibrary.Data.CommandAccessor1.<Execute>d__0.MoveNext() at System.Collections.Generic.List1..ctor(IEnumerable1 collection)1 源) 在 System.Runtime.Remoting.Messaging.Message.Dispatch(对象目标,布尔 fExecuteInContext) 在 System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)
at System.Linq.Enumerable.ToList[TSource](IEnumerable
【问题讨论】:
-
首先向我们展示完整的堆栈跟踪和异常消息。
-
您需要确定发生这种情况的位置。是连接,是事务,命令等。使用一些日志记录来确定错误在哪里并发布异常跟踪。这应该会给你一些关于什么需要调整的线索。就目前而言,您的问题就像读心术。
标签: asp.net .net sql-server-2008 windows-services